[英]Save / keep the state of the CheckBox in react native application (checked or unchecked ) / Invalid prop supplied to checkbox
我只是在我的本機應用程序中從本機基礎實現了復選框組件。 每次我選中/取消選中該復選框時,都會有一些變量更改其狀態(是或否),然后進行存儲。 根據存儲在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
});
}
});
}
我復制了您的代碼(位於: https : //snack.expo.io/SJSzZzvbW ),但沒有發現類型不是布爾值的任何原因。 您是否在代碼中的其他任何地方操縱狀態?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.