深入setState
setState对状态的改变可能是异步的
如果改变状态的代码处于某个HTML元素的事件中,则其是异步的,否则是同步。
后面开发的时候始终当成异步的,然后使用回调函数进行处理。
this.setState(() => {
//改变状态
n: xxx,
}, () => {
//状态改变完成之后触发,改回调运行在render之后
xxxx
})
若遇到某个事件,需要同步调用多次,需要使用函数的方式得到最新状态。
this.setState(cur => {
//改变状态
return {
n: xxx
}
}, () => {
//状态改变完成之后触发,改回调运行在render之后
xxxx
})
React会对异步的setState进行优化。
本文深入解析React setState的异步特性,教你如何在事件回调中正确使用同步与异步更新,以及React对异步setState的优化策略。实例演示了如何在不同场景下调整状态并确保回调在适当时机执行。
111

被折叠的 条评论
为什么被折叠?



