【问题标题】:AsyncStorage.getItem is returning undefinedAsyncStorage.getItem 返回未定义
【发布时间】:2019-06-27 03:15:17
【问题描述】:

我正在我的操作文件中使用 AsyncStorage 设置一个“会话”变量:

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);
      });
...

它正在返回“未定义的用户 ID”。为什么会这样?

谢谢

【问题讨论】:

  • response.data.toString()的值是多少?
  • 这是一个数字。当我执行 console.log(response.data.toString()) 时,该值为 10

标签: react-native asyncstorage


【解决方案1】:

您编写的代码的问题是userId 的值是10,但是当您调用console.log 时,您将其视为具有name 属性的对象。正确的代码如下所示:

...
render() {
    AsyncStorage.getItem('userID')
      .then((value) => {
        const userId = JSON.parse(value);
        console.log('userID ', userId);   // This line changed
      });
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-03
    • 2020-08-30
    • 2019-11-17
    • 1970-01-01
    • 2020-02-04
    • 2018-02-28
    • 2016-11-18
    • 2018-09-20
    相关资源
    最近更新 更多