先导
为什么学习React
React是一个用于构建用户界面的JavaScript库,它的核心思想是:将UI拆分成独立的可复用的组件。因为React的组件化思想,使得React在团队协作开发中非常适用,因为每个组件都是独立的,可以被其他组件复用,也可以被其他人复用。
React拥有大量的开源组件,可以直接使用,React拥有非常活跃的社区,可以在社区中寻找到解决问题的答案。
在16.8版本之前,React的核心思想是函数式编程,但是在16.8版本之后,React引入了Hooks,这个特性使得React的编程方式更加灵活,也更加容易理解。
对于Hooks的横空出世,引发了很多的争议,有人认为它是一个非常好的特性,有人认为它是一个非常糟糕的特性,但是无论如何,它都是一个非常重要的特性,它的出现,使得React的编程方式发生了翻天覆地的变化。
虽然到目前为止,还有很多人在使用React的类组件,但其实就我个人而言,我更喜欢使用Hooks,因为它的复用性更强。
而在2022年三月,React 18 正式发布,React 18 是一个重大的更新,它带来了很多新特性,比如:
- Concurrent Mode
- Suspense
- Server Components
- 新的JSX转换
- 更好的Tree Shaking
- 更好的SSR
- 更好的错误边界处理
- 更好的DevTools
这些新特性,使得React的性能得到了极大的提升,尤其是Concurrent Mode,它使得React的性能提升了很多。
为什么学习源码
源码是最好的文档,如果你想要了解一个库,那么最好的方式就是阅读它的源码,因为源码是最真实的,它不会掩饰任何东西,它会将所有的东西都展现出来。
阅读源码,可以让我们了解一个库的设计思想,可以让我们了解一个库的实现原理,可以让我们了解一个库的使用方式,可以让我们了解一个库的优缺点,可以让我们了解一个库的历史。
阅读源码,可以提升我们的架构能力,目前大部分的前端项目都是比较简单的,但是如果要开发一个大型的前端项目,那么就需要有一定的架构能力,一个好的架构,可以让我们的项目更加稳定,更加易于维护。
为什么觉得学习源码很难
学习源码,最大的难点在于不知道从哪里开始,因为一个框架的源码往往非常庞大,而且它的设计思想往往非常复杂,拿到源码之后,我们往往不知道从哪里开始。
而另一个难点就是源码往往是写给计算机看的,而不是写给人看的,所以它的可读性往往非常差,很多时候,我们需要花费大量的时间去理解源码。
阅读源码和阅读文档是完全不同的,因为文档是写给人看的,所以它的可读性往往非常好,章节往往是从易到难,从简单到复杂,而且文档往往会有很多的示例,这些示例可以让我们更加容易理解。
最后一个难点是一个好的开源项目,注释一般都是英文,React的源码中包含了大量的注释,如果英文不好,没有这些注释的帮助,有时候完全不能理解为什么要这么写,所以英文对于阅读源码来说,也是非常重要的。