当前位置:
首页 >
[react] 为什么建议setState的第一个参数是callback而不是一个对象呢?
发布时间:2023/12/9
37
豆豆
生活随笔
收集整理的这篇文章主要介绍了
[react] 为什么建议setState的第一个参数是callback而不是一个对象呢?
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
[react] 为什么建议setState的第一个参数是callback而不是一个对象呢?
React 为了优化性能,有可能会将多个 setState() 调用合并为一次更新。
因为this.props和this.state 可能是异步更新的,你不能依赖他们的值计算下一个state(状态)。以下面的代码为例:
this.setState({
counter: this.state.counter + this.props.increment,
});
我们并不能通过上述代码得到想要的值,为了弥补这个问题,使用另一种 setState() 的形式,接受一个函数。这个函数将接收前一个状态作为第一个参数,应用更新时的 props 作为第二个参数,代码如下:
this.setState((prevState, props) => ({
counter: prevState.counter + props.increment
}));
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题
总结
以上是生活随笔为你收集整理的[react] 为什么建议setState的第一个参数是callback而不是一个对象呢?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: MySQL主从复制故障解决
- 下一篇: (二十四)面向对象