handleClick() {
this.setState(prevState => ({
isToggleOn: !prevState.isToggleOn
}));
}
如何理解?
handleClick() {
this.setState(prevState => ({
isToggleOn: !prevState.isToggleOn
}));
}
如何理解?
this.setState() 接收一个对象,{ key:value }
,所以针对上面问题中的setState也可以这样书写:
handleClick() {
let _isToggleOn = this.state.isToggleOn;
this.setState({
isToggleOn: !_isToggleOn
});
}
但是这样书写比较麻烦,所以React提供了在setState() 中传递一个回调函数的方法,并且提供了两个参数 prevState和props ,就是当前状态的state和props。 所以上面的代码就可以这样书写:
this.setState((prevState, props) => ({
isToggleOn: !prevState.isToggleOn
}))
括号里面的箭头函数的返回值其实还是一个{ key: value }
(个人理解如有错误请批评指正)