AsyncStorage.getItem 返回未定义
AsyncStorage.getItem is returning undefined
我正在我的操作文件中使用 AsyncStorage 设置一个 'session' 变量:
axios
...
// Session variable
AsyncStorage.setItem('userID', response.data.toString()).then((user) => {
this.setState({ user });
});
// Send to next page
NavigationService.navigate('Main');
然后,在我的页面中,我尝试获取值:
...
render() {
AsyncStorage.getItem('userID')
.then((value) => {
const data = JSON.parse(value);
console.log('userID ', data.name);
});
...
正在返回 'userID undefined'。为什么会这样?
谢谢
您编写的代码的问题在于 userId
具有值 10
但是当您调用 console.log
时,您将其视为具有属性 name
。正确的代码如下所示:
...
render() {
AsyncStorage.getItem('userID')
.then((value) => {
const userId = JSON.parse(value);
console.log('userID ', userId); // This line changed
});
...
我正在我的操作文件中使用 AsyncStorage 设置一个 'session' 变量:
axios
...
// Session variable
AsyncStorage.setItem('userID', response.data.toString()).then((user) => {
this.setState({ user });
});
// Send to next page
NavigationService.navigate('Main');
然后,在我的页面中,我尝试获取值:
...
render() {
AsyncStorage.getItem('userID')
.then((value) => {
const data = JSON.parse(value);
console.log('userID ', data.name);
});
...
正在返回 'userID undefined'。为什么会这样?
谢谢
您编写的代码的问题在于 userId
具有值 10
但是当您调用 console.log
时,您将其视为具有属性 name
。正确的代码如下所示:
...
render() {
AsyncStorage.getItem('userID')
.then((value) => {
const userId = JSON.parse(value);
console.log('userID ', userId); // This line changed
});
...