我尝试通过我保存在另一个组件中的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 ..但不是我在另一个档案中的功能。
任何解决方案?
答案 0 :(得分:2)
错误消息显示商店未定义,因此您应该查找检查它的解决方案。 根据你发布的代码,我假设你已经尝试了两个不同的组件:一个名为'store'的无状态组件,你要导出它来访问它的'loadMac函数。另一个是导入“商店”组件的地方。如我错了请纠正我。 如果是这种情况,则导出语法不正确。它应该与此类似
export default const Store = () => {...}
然后像这样导入:
import Store from './yourPathToStore';
如果不是,那么你不应该拥有export
并且还要澄清你的“商店”究竟是什么。
希望它有所帮助。