>

기본 iOS 코드에서 NSUserDefaults 를 사용할 수 있습니다  동기화 작업 인 데이터를 저장하고 가져옵니다. 반응 네이티브에서 제안은 AsyncStorage 를 사용하는 것입니다. 하지만 NSUserDefaults 와 같은 동기화 저장 솔루션이 필요합니다. . 데이터 페치 결과를 사용하여 표시 할 화면을 결정하지만 비동기이기 때문에 지속 된 데이터를 페치하려고 할 때 항상 정의되지 않습니다.


  • 답변 # 1

    전화 후

    와이즈 비즈

    react-native는 다른 스레드에서 플랫폼에 따라 기본 기능을 호출합니다. 그런 다음 그것을 해결하기로 약속을 반환합니다 , 이렇게 전화하면

    AsyncStorage.getItem('@MySuperStore:key');

    값이 유효하지 않아 나중에 데이터를 사용할 수 있습니다
    올바른 방법은 다음과 같습니다.

     let value =  AsyncStorage.getItem('@MySuperStore:key');
       value ++;
    
    

    이 작업을 수행하는 다른 방법은

    try {
      const value = await AsyncStorage.getItem('@MySuperStore:key');
      if (value !== null){
        // We have data!!
        console.log(value);
      }
    } catch (error) {
      // Error retrieving data
    }
    
    

  • 답변 # 2

    예를 들어 비동기식으로 만들 수 있습니다

     try {
          AsyncStorage.getItem('@MySuperStore:key',(value )=>{  
          if (value !== null){
            // We have data!!
        console.log(value);
      }});
    } catch (error) {
      // Error retrieving data
    }
    
    
    getData = async () => { const value = await AsyncStorage.getItem('Yourkey'); this.setState({key: value}) }

  • 이전 ruby on rails - PostgreSQL 오류,"pg_hbaconf 항목 없음"
  • 다음 qt - Qt5의 Cuda 링크 오류