• 前端同学想扩展自己的知识边界,从学习React源码下手是个不错的选择。

    源码为什么难懂

    机遇可以看到,小到具体算法,大到编程思想,要了解源码运行流程,需要学习很多前置知识。

    我们调试一个库的源码,一般从他的入口函数开始debug。对于React来说,这个入口就是ReactDOM.render

    打印从ReactDOM.render执行到视图渲染过程的调用栈会发现:这中间的调用流程非常复杂,甚至还有异步流程。

    初学源码的同学很容易陷入源码的汪洋大海,从入门到放弃。

    源码该怎么学

    如果将调用栈按功能划分,可以分为三块:

    分别对应了源码架构中的三大模块:

    调度 - 协调 - 渲染

    所以,在学习具体代码前,更好的方式是先了解React的架构体系。

    那么React为什么要这样架构呢?

    我们作为开发者,在开发一个功能前会关注实现这个功能的目的——是为了更好的用户体验,还是商业化的目的?

    同样,React团队作为框架的开发者,在开发React前也会关注实现目的。这个目的,就是React的设计理念。

    可以从官网React哲学了解到:

    可见,React的设计初衷就是为了践行快速响应的理念。

    理念出发,你会了解到:

    总结

    理念架构,从架构实现,这是符合大脑认知的自顶向下的学习步骤。

    这种方式固然好,但是需要总结大量的权威知识才能做到从理念实现都和React核心团队成员的想法一致。

    为此,我写了一本开源的电子书:

    React技术揭秘(https://react.iamkasong.com)

    完全按照自顶向下的模式讲解React源码。

    同时为了保证理解没有偏差,书中所有言论都来自React核心团队成员在公开场合的分享。

    希望可以帮到想拓宽知识边界的你,同时也希望能给个star

    历史精选文章

    如何学习源码 | 如何高效学习一个新知识
    为什么要学习源码,怎么学习?
    我在阿里招前端,我该怎么帮你?(文末有福利)
    如何拿下阿里巴巴 P6 的前端 Offer
    如何准备阿里P6/P7前端面试--项目经历准备篇
    大厂面试官常问的亮点,该如何做出?
    如何从初级到专家(P4-P7)打破成长瓶颈和有效突破
    若川知乎问答:2年前端经验,做的项目没什么技术含量,怎么办?

    最后

    一般人都看不到文章末尾,看到这里你已经超越90%的人了。

    本文分享自微信公众号 - 若川视野(lxchuan12-wx)。
    如有侵权,请联系 [email protected] 删除。
    本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

    04-04 12:36