详解React中setState回调函数

作者: a333661d6d6e | 来源:发表于2018-11-20 19:45 被阅读7次

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


1. 语法
setState(updater[, callback]) //

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

this.state = {foo: 1};
this.setState({foo: 123});
console.log(this.state.foo);
// 1
//欢迎加入全栈开发交流圈一起学习交流:864305860

在回调中调用设置好的state

this.state = {foo: 2};
this.setState({foo: 123}, ()=> {
 console.log(foo);
 // 123
});//欢迎加入全栈开发交流圈一起学习交流:864305860

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

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

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

相关文章

  • 详解React中setState回调函数

    使用React过程中,中可以使用this.state来访问需要的某些状态,但是需要更新或者修改state时,一般而...

  • React组件API——setState

    setState是React事件处理函数中和请求回调函数中触发UI更新的主要方法。 参数说明 nextState:...

  • 总结

    react 1.setState到render是经历了怎样的过程。setState的回调函数。我的理解。setSt...

  • 关于React中的setState

    前言 在看React setState 详解中看到一道有意思的题目,关于setState函数中state的值的问题...

  • RN开发问题总结备忘

    目录 1)通知的用法 2)回调函数传入参数以区分点击 3)react-navigation 4 setState(...

  • 2018-11-20 React setState同步更新

    react的setState特点: react中的setState特点: 1. 异步操作函数; ...

  • [react]9、setState

    1、获取setState异步更新后的结果 1、setState更新后一个回调函数,可以通过回调函数获取更新后的值 ...

  • ReactNative 实现同步更新

    下面这样做有时候会不更新数据 React文档中对setState的说明 第二个参数是一个回调函数,在setStat...

  • react易踩坑

    ref使用中的坑 小结:setState是异步函数所以关于dom的操作需要在setState的回调中比如现在我们要...

  • React setState

    当组件的 setState 函数被调用之后,会发生什么 ? 在代码中调用setState函数之后,React 会将...

网友评论

    本文标题:详解React中setState回调函数

    本文链接:https://www.haomeiwen.com/subject/prrxqqtx.html