我在React Native中使用AsyncStorage.getItem
。
应用程序加载后,我想使用AsyncStorage.getItem
将保存的数据保存到设备存储器中。我想到了使用ComponentDidMount()
。因此,一旦加载了组件,我想自动运行AsyncStorage.getItem
并将数据保存到数组DATA中。这样,用户将不会按任何按钮来开始渲染保存在设备内存中的内容。
我使用了下面的代码,但是没有看到任何console.log活动。但是console.log可以在同一程序的其他页面上使用。似乎ComponentDidMount()
没有执行。
谢谢!
componentDidMount(){
async () => {
try {
const HomeData = await AsyncStorage.getItem('@MyApp_Homekey')
return HomeData
} catch (e) {
console.log('There was error.')
}
if(!HomeData){
console.log('There are no Dimmer Light saved in the memory.')
}
else {
console.log('There is value in data after getItem.')
this.setState(DATA = HomeData)
}
}
在注释中提到,您应该对componentDidMount使用async为:-
componentDidMount = async () => {
const HomeData = await AsyncStorage.getItem('@MyApp_Homekey')
if(!HomeData){
console.log('There are no Dimmer Light saved in the memory.')
}
else {
console.log('There is value in data after getItem.')
this.setState(DATA = HomeData)
}
}