【发布时间】:2019-05-07 07:39:51
【问题描述】:
所以我读到很多 setState 调用是批处理的并且是异步的,当从setState 中的状态读取任何值时,应该使用更新器函数来更新状态。
class App extends React.Component {
state = { count: 1 }
handleClick = () => {
this.setState({ count: this.state.count + 1 })
}
render() {
return (
<div>
<div>{this.state.count}</div>
<button onClick={this.handleClick}>Click</button>
</div>
)
}
}
仅考虑上面的代码,有人可以通过不使用setState 的更新程序模式来解释在这种情况下可能出现的问题吗?即使稍后调用setState,this.state 将始终引用先前的状态,这正是我们在这里想要的。
PS:我知道在这种情况下多次调用setState 会导致错误,因为它们是异步的,但这里不是这种情况。
【问题讨论】:
-
参考48563650问题。
-
缺少
constructor()
标签: javascript reactjs