详解React中setState回调函数

原创 年树先生 随笔 JavaScript 19849阅读 20 天前 举报

使用React过程中,中可以使用this.state来访问需要的某些状态,但是需要更新或者修改state时,一般而言,我们都会使用setState()函数,从而达到更新state的目的,setState()函数执行会触发页面重新渲染UI。但是呢,setState是异步的!这就难受。


1. 语法

updater是要改变的state对象,callback是state导致的页面重新渲染的回调,等价于componentDidUpdate
一般而言,在设置页面某些state的时候,需要先设置好state,然后再对页面的一些参数进行修改的时候,可以使用setState的回调函数。
2. 分析一下区别
不在回调中使用参数,我们在设置state后立即使用state:

在回调中调用设置好的state

关于setState的回调函数的作用大概如此,这个函数相当于componentDidUpdate函数,和生命周期的函数类似。
3. 注意:

  • setState是异步的!不保证数据的同步。
  • setState更新状态时可能会导致页面不必要的重新渲染,影响加载。
  • setState管理大量组件状态也许会导致不必要的生命周期函数钩子调用。

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。
对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。
最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复