首页 > 解决方案 > React-Native AsyncStorage:TypeError:无法读取未定义的属性“setItem”

问题描述

我正在学习 react-native 并尝试使用AsyncStorage. 我正在使用此代码来存储数据:

_storeData = async (token) => {
    console.log("store token");
    console.log(token);
    try {
      await AsyncStorage.setItem('token', token);
    } catch (error) {
      // Error saving data
      console.log(error);
    }
  }

调用它:this._storeData(res.token);

但它给了我这个错误:

> TypeError: Cannot read property 'setItem' of undefined
>     at LoginOrCreateForm._callee$ (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:138096:71)
>     at tryCatch (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21408:19)
>     at Generator.invoke [as _invoke] (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21583:24)
>     at Generator.prototype.(anonymous function) [as next] (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21451:23)
>     at tryCatch (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21408:19)
>     at invoke (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21484:22)
>     at blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:21514:13
>     at tryCallTwo (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:22690:7)
>     at doResolve (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:22854:15)
>     at new Promise (blob:http://localhost:8081/21ec2746-a3c9-4c68-937f-ee50c63a6d58:22713:5)

谁能帮助我做错了什么?谢谢

标签: javascriptreact-nativeasyncstorage

解决方案


只要确保你已经import { AsyncStorage } from "react-native"


推荐阅读