我只是實現從天然鹼基的複選框部件在我的反應的本機應用。每次我選中/取消選中複選框,一些變量會改變其狀態(true或false),然後存儲。根據存儲在asyncStorage中的值,我可以在應用程序中進行一些更改並且工作正常。保存/保持複選框的狀態中進行反應本地應用程序(選中還是未選中)/無效丙供給到複選框
我現在面臨的問題是:我需要複選框在使用應用程序時保持選中/未選中狀態(即使從一個頁面更改爲另一個頁面),並且在用戶沒有更改時不會更改它(它總是會回到默認值,一旦更改頁面) 我存儲的變量作爲字符串,但顯然複選框只接受布爾變量。 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
});
}
});
}
商店複選框在DB或陣列的狀態,並使其 –