码迷,mamicode.com
首页 > 其他好文 > 详细

react中this.setState的理解

时间:2020-04-17 15:35:09      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:而在   end   处理   了解   内容   合并   改变   ret   需要   

最近重新整理了一下react知识点,以前博客的内容太乱了,正好趁换博把内容重新整理一下子.

只要写react项目,就必然用到this.setState,那么setState了解多少?setState执行后触发了那些方法?这里做一下解答

作用:

this.setState是用来改变state的方法,因为在react中是单项数据流,我们不能直接修改state,需要使用this.setState

 

写法:

this.setState(()=>{return {}},()=>{})

this.setState({},()=>{})

第一个参数用于异步修改state,第二个函数是当state修改完成后,执行的方法,类比componentDidUpdate

 

异步:

this.setState在某些条件下是异步的,在某些条件下是同步的.因为react对原生事件做了包装,生成了合成事件,在合成事件中因为某些特殊的处理,使得setState是异步的;而在原生事件中由于没有这些处理,导致setState是同步执行的.

异步的好处:

setState的异步是为了批量处理state,在react中会有一个队列,在队列内部排列着setState方法,react会将一段时间内要修改的state合并,只执行一次setState方法

 

setState执行后触发了那些函数

我们知道setState执行后会触发render渲染,但并不只是render这一个生命周期,具体是:

setState->shouldComponentUpdate->componentWillUpdate->render->componentDidUpdate

react中this.setState的理解

标签:而在   end   处理   了解   内容   合并   改变   ret   需要   

原文地址:https://www.cnblogs.com/liuXiaoDi/p/12589048.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!