这是我的App.js
,其他一切都是我能得到的标准/简单。
import React from 'react';
import { AsyncStorage, Text, View } from 'react-native';
export default class App extends React.Component {
render() {
console.log("Fetching data")
AsyncStorage.getItem('@MySuperStore:key', (value) => {
console.log("Fetched data: ", value)
if(value == null) {
console.log("Writing data!")
AsyncStorage.setItem('@MySuperStore:key', 'data', () => {
console.log("Wrote data!")
})
}
})
return(
<View>
<Text>Hello, ReplIt</Text>
</View>
);
}
}
获取value
的总是null
.
我在本地和 ReplIt 上都试过了。在所有情况下,数据都不会在应用程序加载后持续存在;我总是看到:
Fetching data
Fetched data: null
Writing data!
Wrote data!
我究竟做错了什么?我对 Expo 如何与持久存储交互有不正确的假设吗?AFAIK,AsyncStorage
应该将东西保存到设备中;所以我可以关闭并重新打开应用程序并使数据保持不变。