React 学习:setState 源码浅析

作者:王少飞

先看下官网的一个demo。

定时更新当前元素,

拿这个例子分析下setState的实现原理:

首先是reactComponent的setState方法,

将新的状态放到队列中 ,

新的状态是立即更新还是后面render更新(这个例子是在batchedUpdate中更新的情况),

这里采用事务处理为了可以执行用户绑定的生命周期的方法,要更新的状态最终放到dirtyComponents中 ,

最终dirtyComponents中的数据经过diff后渲染到页面。

原文链接:http://ivweb.io/topic/5779552bf525c4613e8b4021

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阿杜的世界

【译】11条Java异常处理的最佳实践

在之前关于Java异常的文章中,已经探讨过suppressed exceptions和Java Exceptions Tutorial 两个方面的内容。要想在...

724
来自专栏腾讯IVWEB团队的专栏

nodejs 中错误捕获的一些最佳实践

本文为翻译文章,原文比较长,感觉也有点啰嗦,所以根据个人理解猜测梳理出本文。

3720
来自专栏河湾欢儿的专栏

全局对象

763
来自专栏LuckQI

学习Java基础知识,打通面试关十~IO流

1215
来自专栏大内老A

.NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?

配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置;第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置。要了...

1758
来自专栏前端大白专栏

使用react心得

1425
来自专栏wOw的Android小站

[设计模式]之十二:状态模式

在很多情况下,一个对象的行为取决于一个或多个动态变化的属性,这样的属性叫做状态,这样的对象叫做有状态的(stateful)对象,这样的对象状态是从事先定义好的一...

421
来自专栏高性能服务器开发

Java NIO:浅析I/O模型

也许很多朋友在学习NIO的时候都会感觉有点吃力,对里面的很多概念都感觉不是那么明朗。在进入Java NIO编程之前,我们今天先来讨论一些比较基础的知识:I/O模...

3378
来自专栏我的博客

Zend_Http之Zend_Http_Client

$client = new Zend_Http_Client(‘http://192.168.1.180/index/get’, array( ‘maxred...

2684
来自专栏云霄雨霁

设计模式----状态模式

1250

扫码关注云+社区