import AsyncStorage from '@react-native-community/async-storage'; import {useEffect, useState} from 'react'; export const useAsyncStorage = (key: string, defaultValue: string) => { const [storedValue, setStoredValue] = useState(defaultValue); const getStoredItem = async (currentKey: string, currentValue: string) => { try { const item = await AsyncStorage.getItem(currentKey); const value = item ? item : currentValue; setStoredValue(value); } catch (error) { console.log(error); } }; useEffect(() => { getStoredItem(key, defaultValue); }, [key, defaultValue]); const setValue = async (value: string) => { try { setStoredValue(value); await AsyncStorage.setItem(key, value); } catch (error) { console.log(error); } }; return [storedValue, setValue]; };