H5W3
当前位置:H5W3 > JavaScript > React > 正文

【React】react官方文档,这个setState方法里面的prevState参数怎么传进去的?

class Toggle extends React.Component {
constructor(props) {
super(props);
this.state = {isToggleOn: true};
// This binding is necessary to make `this` work in the callback
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.setState(prevState => ({    // 这个参数
isToggleOn: !prevState.isToggleOn
}));
}
render() {
return (
<button onClick={this.handleClick}>
{this.state.isToggleOn ? 'ON' : 'OFF'}
</button>
);
}
}

回答

setState() 可以接收一个函数,这个函数接受两个参数,第一个参数表示上一个状态值,第二参数表示当前的 props,

this.setState((prevState, props) => ({
    //do something here
}));

官方文档链接
【React】react官方文档,这个setState方法里面的prevState参数怎么传进去的?

这个函数的prevState是React框架帮你保存和传递的,你不用传。第一个参数prevState就是上面设置的this.state。

本文地址:H5W3 » 【React】react官方文档,这个setState方法里面的prevState参数怎么传进去的?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址