displays different screens by checking if the app has launched before
Tue Sep 28 2021 08:29:02 GMT+0000 (Coordinated Universal Time)
Saved by
@caesaragen
#react.js
import { AsyncStorage } from 'react-native';
const HAS_LAUNCHED = 'hasLaunched';
function setAppLaunched() {
AsyncStorage.setItem(HAS_LAUNCHED, 'true');
}
export default async function checkIfFirstLaunch() {
try {
const hasLaunched = await AsyncStorage.getItem(HAS_LAUNCHED);
if (hasLaunched === null) {
setAppLaunched();
return true;
}
return false;
} catch (error) {
return false;
}
}
//import and use elswhere like this
import React, { useEffect, useState } from 'react';
import { Text } from 'react-native';
import checkIfFirstLaunch from './utils/checkIfFirstLaunch';
const App = () => {
const [isFirstLaunch, setIsFirstLaunch] = useState(null)
useEffect(() => {
checkIfFirstLaunch().then((isFirstLaunch) => {
setIsFirstLaunch(isFirstLaunch)
});
}, [])
if (isFirstLaunch === null) return null
return isFirstLaunch ?
<Text>This is the first launch</Text> :
<Text>Has launched before</Text>
;
}
export default App
content_copyCOPY
React native app
Comments