2017-09-08 3 views
0

다른 구성 요소에 저장 한 AsyncStorage를 통해 표식 장치에서 ID를로드하려고합니다.네이티브 '정의되지 않은 속성을 읽을 수 없음'AsyncStorage

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

store.loadMac();을 호출 할 때 상점이 정의되지 않았습니다. –

+0

상점을 상점으로 정의 할 수있는 가능성이 표시되지 않았습니다. –

+0

상점이란 무엇입니까? 함수를 상점으로 가져 왔습니까? loadMac 모듈을 저장소로 가져온 경우 store()를 호출합니다. –

답변

2

오류 메시지에 저장소가 정의되어 있지 않으므로 해결책을 찾아야합니다. 당신이 게시 한 코드에 나는 당신이 'loadMac'함수에 접근하기 위해 export하고있는 'store'라는 하나의 stateless 컴포넌트라는 2 개의 다른 컴포넌트를 가지고 있다고 가정하고있다. 또 다른 곳에서는 '상점'구성 요소를 가져오고 있습니다. 틀 렸으면 고쳐줘. 이 경우 내보내기 구문이 잘못되었습니다. 그렇지 않은 경우

import Store from './yourPathToStore'; 

는, 당신은 export도 정확하게 당신의 '점'이 무엇인지 명확히하는 것이 필요는 없습니다 : 그것은이

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

비슷한 수 그리고 이런 식으로 가져와야합니다 .

희망이 있습니다.

+0

이 가져 오기를 잊어 버렸습니다. 예, 맞습니다. 가져 오기를 잊어 버렸습니다. 하나의 구성 요소 < – developKinberg

관련 문제