Как установить значение по умолчанию, а если нет, то значение из AsyncStorage в react Native

#reactjs #react-native #react-hooks

#reactjs #react-native #реагирующие крючки

Вопрос:

Я новичок в React Native, поэтому пытаюсь учиться. Я пытаюсь установить значение по умолчанию, используя перехваты в react native, как показано ниже

 const [recent, setRecent] = useState('No data')
  

Я использую асинхронное хранилище для получения значения recent . Если значение не найдено в асинхронном хранилище, мне нужно установить значение по умолчанию как No Data

Как я могу добиться такого поведения?

Ответ №1:

Вам нужно будет использовать useEffect перехват. Он будет запущен при первом монтировании компонента. В нем вам нужно запустить асинхронную функцию, чтобы проверить значение AsyncStorage. Это должно быть сделано определенным образом, который я показал в примере ниже (создайте асинхронную функцию, затем немедленно запустите ее). Затем обновите значение на основе того, что он находит.

 const [ recent,setRecent ] = React.useState()

React.useEffect(() => {
    const checkAsync = async () => {
        const value = await AsyncStorage.getItem('@storage_Key')
        if (value !== undefined amp;amp; value !== null){
            setRecent(value)
        } else {
            setRecent('No data')
        }
    }
    checkAsync()
}, [])