Que's Blog

WebFrontEnd Development

0%

关于这个调度篇,感觉真的超级费时间。花了很多时间去理解,走不通的地方参考了很多人的文章,所幸是大致弄明白了。这里做一下记录,以备哪天又忘完了能捡起来吧。

阅读全文 »

前面几篇重点分析了Render & Update, 乃至Fiber链的构建细节。这里就有余地去分析V16的Diff算法是如何实现了。根据之前的Update两篇分析,可以很容易知道这个Diff集中在了render phase, 而随后的commit phase实际上就是patch这个diff的过程。因为Diff实际上是由Reconciler来实现的,所以这里也把它整理一下。

阅读全文 »

这里是V16的ChildReconciler部分。上一篇只是草草略过了它,并没有完整清晰说明整个DOM树是如何通过Fiber链表结构构建完毕的。

阅读全文 »

这里是V16的update部分。主要还是对render phase环节的分析,当我开始写这个小简介的时候,我突然更能明白v16对于v15的领先处。在v15时候,想要单独对数据流和DOM渲染进行分层分析其实是做不到的,它的树结构注定了它数据变动、Diff、渲染密不可分。而v16却可以实现这个分层,真的深入了解后,对这个分层的实现,心里实在叹为观止。

阅读全文 »

这里是Update篇的commit phase环节的分析。我们之前对renderPhase有分析,主要分析了setState和简单useStateHook情况下的renderPhase。这里我们继续看看commitPhase下的流程。

阅读全文 »

这里是V16的render部分。早之前对v15相关逻辑好好整理了一次,但是v16最终还是要看一看,看看fiber是如何重构了整个react的调和。

阅读全文 »

源码阅读是一件枯燥而富有挑战性的事情,特别是React这类大型的源码。当我把15.6大体的东西读得稍有心得的时候,此时版本迭代已经到了16.8.6。

阅读全文 »

前几天对React Event的路径进行了一些更新,这更新说多不多说少不少,本来以为画了好几个图心里会放心很多,但是最后再看看源码目录结构,还有之前文章里面提到的合成事件略过的句子,终究是觉得还是没做到位,所以这一篇目标是整理一下React事件体系的宏观体系,而不是上一篇细枝末节的到繁琐的源码探究。

阅读全文 »

调度算是整个React实现中的核心,VirtualDom算是一种架构规划,Diff算法可以视为一种规则,而这个调度,则是这个规则具体执行者。它们之间的关系,可以近似视为机构设置-宪法-政府的关系。

阅读全文 »

很早之前看到有大佬在知乎吹ReactCurrentOwner在React是如何如何重要,后来我开始读React源码,但是没明白这句话意思,所以后来也特别针对这个变量好好读了一下。这里是读完得到的结果。

阅读全文 »

React Diff算法是React得到大力推崇的核心所在,不过这个Diff算法内部是如何实现的,如果不深究很难理解,这里记录一下对Diff算法的学习。

阅读全文 »

这篇整体分析了一下Redux在React中的生态,包括react-Redux、redux-saga脉络、原理(但并不包含redux代码和原理上的分析)。

阅读全文 »

这里是有关React虚拟DOM的概况整理,弄清楚虚拟DOM在整个学习React流程中非常重要。

阅读全文 »