Page MenuHomePhorge

hooks.js
No OneTemporary

Size
686 B
Referenced Files
None
Subscribers
None

hooks.js

// @flow
import AsyncStorage from '@react-native-async-storage/async-storage';
import * as React from 'react';
function useOnFirstLaunchEffect(uniqueKey: string, effect: () => mixed) {
const [started, setStarted] = React.useState(false);
React.useEffect(() => {
void (async () => {
if (started) {
return;
}
setStarted(true);
const hasBeenExecuted = await AsyncStorage.getItem(uniqueKey);
if (hasBeenExecuted) {
return;
}
try {
await effect();
} finally {
await AsyncStorage.setItem(uniqueKey, 'true');
}
})();
}, [effect, started, uniqueKey]);
}
export { useOnFirstLaunchEffect };

File Metadata

Mime Type
text/x-java
Expires
Sun, Dec 7, 4:26 PM (20 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5839569
Default Alt Text
hooks.js (686 B)

Event Timeline