React的调度-v16 发表于 2019-08-28 | | 阅读次数 关于这个调度篇,感觉真的超级费时间。花了很多时间去理解,走不通的地方参考了很多人的文章,所幸是大致弄明白了。这里做一下记录,以备哪天又忘完了能捡起来吧。阅读全文 »
react-v16-Reconciler和Diff算法 发表于 2019-08-14 | | 阅读次数 前面几篇重点分析了Render & Update, 乃至Fiber链的构建细节。这里就有余地去分析V16的Diff算法是如何实现了。根据之前的Update两篇分析,可以很容易知道这个Diff集中在了render phase, 而随后的commit phase实际上就是patch这个diff的过程。因为Diff实际上是由Reconciler来实现的,所以这里也把它整理一下。阅读全文 »
react-v16-ChildReconciler 发表于 2019-08-07 | | 阅读次数 这里是V16的ChildReconciler部分。上一篇只是草草略过了它,并没有完整清晰说明整个DOM树是如何通过Fiber链表结构构建完毕的。阅读全文 »
react-v16-Update renderPhase篇 发表于 2019-08-07 | | 阅读次数 这里是V16的update部分。主要还是对render phase环节的分析,当我开始写这个小简介的时候,我突然更能明白v16对于v15的领先处。在v15时候,想要单独对数据流和DOM渲染进行分层分析其实是做不到的,它的树结构注定了它数据变动、Diff、渲染密不可分。而v16却可以实现这个分层,真的深入了解后,对这个分层的实现,心里实在叹为观止。阅读全文 »
react-v16-Update-commitPhase 发表于 2019-08-07 | | 阅读次数 这里是Update篇的commit phase环节的分析。我们之前对renderPhase有分析,主要分析了setState和简单useStateHook情况下的renderPhase。这里我们继续看看commitPhase下的流程。阅读全文 »
react-fiber-render 发表于 2019-08-07 | | 阅读次数 这里是V16的render部分。早之前对v15相关逻辑好好整理了一次,但是v16最终还是要看一看,看看fiber是如何重构了整个react的调和。阅读全文 »
v16的开始 || react-Fiber 发表于 2019-07-15 | | 阅读次数 源码阅读是一件枯燥而富有挑战性的事情,特别是React这类大型的源码。当我把15.6大体的东西读得稍有心得的时候,此时版本迭代已经到了16.8.6。阅读全文 »
React事件体系设计 发表于 2019-07-10 | | 阅读次数 前几天对React Event的路径进行了一些更新,这更新说多不多说少不少,本来以为画了好几个图心里会放心很多,但是最后再看看源码目录结构,还有之前文章里面提到的合成事件略过的句子,终究是觉得还是没做到位,所以这一篇目标是整理一下React事件体系的宏观体系,而不是上一篇细枝末节的到繁琐的源码探究。阅读全文 »
React核心:Reconciler调度模块 发表于 2019-07-04 | | 阅读次数 调度算是整个React实现中的核心,VirtualDom算是一种架构规划,Diff算法可以视为一种规则,而这个调度,则是这个规则具体执行者。它们之间的关系,可以近似视为机构设置-宪法-政府的关系。阅读全文 »