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
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter