我要做的是在打开应用程序时显示一个对话框,但我希望将此显示条件设置为存储在应用程序本地存储中的变量。 当我点击一个按钮时,这个变量被初始化。 我会解释我的情况:
当我单击按钮时,我确实调用了该函数,该函数将数据存储在本地存储中,如下所示:
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")
}
}
当我关闭该应用程序并重新打开它时,警报将向我返回以下[对象对象]。
谁能告诉我我错了。
答案 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