我刚刚在我的React Native应用程序中从本机碱中实现了复选框组件。每次我检查/取消选中复选框时,都会有些变量更改其状态(是或错误),然后存储。基于存储在Asyncstorage中的该值,我可以在应用程序中进行一些更改,并且可以正常工作。
我现在面临的问题是:我需要复选框才能在使用该应用程序时保持检查 /未选中(即使从一个页面更改为另一页),并且在用户没有更改时无法更改(它总是会返回对于默认值,一旦更改页面),我将变量存储为字符串,但显然Checkbox仅接受布尔变量。 PS: 我试图将状态存储为布尔值,但在这里不起作用的是代码:
-
constructor(props) {
-
super(props);
-
this.state ={ status: false }
-
};
-
-
toggleStatus()
-
{
-
this.setState({
-
status: !this.state.status
-
});
-
AsyncStorage.setItem("myCheckbox",JSON.stringify(this.state.status));
-
}
-
-
render(){
-
return(
-
-
....
-
<CheckBox checked={this.state.status}
-
onPress={() => this.toggleStatus()} />
-
-
);}
我什至试图改变这样的状态:
-
componentWillMount(){
-
AsyncStorage.getItem('myCheckbox').then((value) => {
-
JSON.parse(value)
-
this.setState({
-
status: value
-
});
-
if (this.state.status == 'false') {
-
this.setState({
-
status: false
-
});
-
}
-
else if (this.state.status == 'true') {
-
this.setState({
-
status: true
-
});
-
}
-
else {
-
this.setState({
-
status: false
-
});
-
}
-
});
-
-
}
看答案
我复制了您的代码(在: https://snack.expo.io/sjszzzvbw),并且没有找到任何理由 布尔。您是否在代码中的其他任何地方操纵状态?
未经允许不得转载:迪欧吧_技术交流_资源分享_热点资讯_免费VPS空间 » 保存 /将复选框状态保存在React Native应用程序中(已检查或未选中) /提供给复选框的无效道具