在使用反应过程中,中可以使用this.state来访问需要的某些状态,但是需要更新或者修改状态时,一般而言,我们都会使用设置状态()函数,从而达到更新状态的目的,设置状态()函数执行会触发页面重新渲染UI。但是! ! !设置状态是异步的! ! !
<强> 1。语法:强>
设置状态(updater(回调))//
更新器是要改变的状态对象,回调是国家导致的页面重新渲染的回调,等价于componentDidUpdate
一般而言,在设置页面某些国家的时候,需要先设置好状态,然后再对页面的一些参数进行修改的时候,可以使用设置状态的回调函数。
<强> 2。分析一下区别
强>
不在回调中使用参数,我们在设置状态后立即使用状态:
这一点。状态={foo: 1}; 这一点。设置状态({foo: 123}); console.log (this.state.foo);//1
在回调中调用设置好
的状态这一点。状态={foo: 2}; 这一点。设置状态({foo: 123},()=比;{ console.log (foo);//123 });
关于设置状态的回调函数的作用大概如此,这个函数相当于componentDidUpdate函数,和生命周期的函数类似。
<强> 3。注意:强>
-
<李>刚说了,设置状态是异步的!不保证数据的同步。李>
<李>设置状态更新状态时可能会导致页面不必要的重新渲染,影响加载。李>
<李>设置状态管理大量组件状态也许会导致不必要的生命周期函数钩子调用。李>
参考文档:https://facebook.github.io/react/docs/react-component。html #设置状态
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。