我想通过单击按钮在react native中设置状态,然后在asyncStorage
中设置并重新启动以更改视图,但是当我使用componentDidMount
时,它不会显示并显示错误
onRadioPressed2 = async() => {
const Newlanguage ='fa';
await AsyncStorage.setItem('language',Newlanguage);
this.setState({language:'fa'});
RestartAndroid.restart();
};
这是我的setState函数
componentDidMount = () => AsyncStorage.getItem('language').then((Newlanguage) => this.setState({ lang: Newlanguage }));
在另一页中检查ComponentdidMount但出现错误。任何人都可以帮助我。在模拟器中可以,但在发布应用中不正确
答案 0 :(得分:1)
您可以在下面使用它向 AsyncStorage 存储中添加数据。
onRadioPress2() {
try {
const Newlanguage = 'fa';
AsyncStorage.setItem('language', Newlanguage)
this.setState({ language: 'fa' });
RestartAndroid.restart();
} catch (error) {
}
}
您可以调用函数链接:
this.onRadioPress2()
您可以使用以下代码检索值:
AsyncStorage.getItem('language').then((Newlanguage) => {
this.setState({
language: Newlanguage
})
}).done();
您的错误是您在设置状态时使用了错误的名称。
this.setState({ lang: Newlanguage }) --> this.setState({ language: Newlanguage })