React native“无法读取未定义的属性”AsyncStorage

时间:2017-09-08 00:33:36

标签: javascript reactjs react-native

我尝试通过我保存在另一个组件中的AsyncStorage从ble设备加载ID。但后来我这样做我得到以下错误:

ExceptionsManager.js:65 Cannot read property 'loadMac' of undefined

这是我的loadMac()函数:

   export function loadMac() {
  AsyncStorage.getItem(MAC_KEY)
    .then((item) => {
      console.log(item);
      return item;
    })
    .catch((error) => {
      console.log(error);
    });
}

我在我的组件中调用此函数是这样的:

store.loadMac();

然后我尝试

AsyncStorage.getItem(MAC_KEY)
  .then((item) => {
      console.log(item)});

我会得到我的ID ..但不是我在另一个档案中的功能。

任何解决方案?

1 个答案:

答案 0 :(得分:2)

错误消息显示商店未定义,因此您应该查找检查它的解决方案。 根据你发布的代码,我假设你已经尝试了两个不同的组件:一个名为'store'的无状态组件,你要导出它来访问它的'loadMac函数。另一个是导入“商店”组件的地方。如我错了请纠正我。 如果是这种情况,则导出语法不正确。它应该与此类似

export default const Store = () => {...}

然后像这样导入:

import Store from './yourPathToStore';

如果不是,那么你不应该拥有export并且还要澄清你的“商店”究竟是什么。

希望它有所帮助。