#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()
}, [])