我正在尝试更新状态对象内的布尔属性,但遇到了一些麻烦。
这是我正在尝试做的事情:
this.setState(
prevState => ({
selectedGrocery: {
...prevState.selectedGrocery,
checked: !prevState.checked
}
}),
() => {
console.log(this.state.selectedGrocery);
}
);
状态
selectedGrocery.checked
初始化为false
,当我调用上述代码时,它更改为true
,但是下次调用该代码时,它不会变回false
。提前致谢! 最佳答案
您需要使用prevState.selectedGrocery.checked
才能使用正确的属性。
this.setState(
prevState => ({
selectedGrocery: {
...prevState.selectedGrocery,
checked: !prevState.selectedGrocery.checked
}
}),
() => {
console.log(this.state.selectedGrocery);
}
);