当我退出应用程序时,本地存储变量将重新初始化

时间:2019-05-23 00:16:16

标签: react-native local-storage

我要做的是在打开应用程序时显示一个对话框,但我希望将此显示条件设置为存储在应用程序本地存储中的变量。 当我点击一个按钮时,这个变量被初始化。 我会解释我的情况:

当我单击按钮时,我确实调用了该函数,该函数将数据存储在本地存储中,如下所示:

  storeDate = async () => {
    try{
        await AsyncStorage.setItem('@key',true)
        }catch(e){
            alert("an error has occured when s")
        }
    } 

在我的componentDidMount中,根据我的@key变量,我是否显示对话框,这是我执行此操作的代码:

  componentDidMount(){

       // this alert is used to check my @key variable value
       alert(this.getData());

       if (this.getData() == true){
           this.setState({
            dialogVisible2:true
           });
       }
   }

这是我的getData函数:

   getData = async () =>{
    try{
        const value = await AsyncStorage.getItem('@key')
        if (value !== null){

            return  value;
        }
        return "undefined";
    }catch(e){
        alert("an error has occured when retrieving data")
    }
}

当我关闭该应用程序并重新打开它时,警报将向我返回以下[对象对象]。

谁能告诉我我错了。

1 个答案:

答案 0 :(得分:0)

在从@Echo Off For /F Delims^=^ EOL^= %%A In ('Where ".:??.????.???" 2^>NUL') Do ( Set "_=%%~nA" SetLocal EnableDelayedExpansion Ren "%%A" "!_:~-4!.!_:~,2!%%~xA" EndLocal ) 获取数据之前,componentDidMount函数首先运行,因此将其导入。

因此您可以将Asyncstorage配置为异步系统。

componentDidMount