欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

[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而不是一个对象呢?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。