01-写给想要进阶的你
课程
1
写给想要进阶的你
已学完
学习时长: 4分28秒
2
基础篇-认识 jsx
已学完
学习时长: 40分51秒
3
基础篇-起源 Component
已学完
学习时长: 32分50秒
4
基础篇-玄学 state
已学完
学习时长: 33分37秒
5
基础篇-深入 props
已学完
学习时长: 43分58秒
6
基础篇-理解 lifeCycle
学习时长: 72分46秒
7
基础篇-多功能 Ref
已学完
学习时长: 71分17秒
8
基础篇-提供者 context
已学完
学习时长: 53分16秒
9
基础篇-模块化 css
学习时长: 35分20秒
10
基础篇-高阶组件
学习时长: 43分29秒
11
优化篇-渲染控制
学习时长: 50分4秒
12
优化篇-渲染调优
学习时长: 35分8秒
13
优化篇-处理海量数据
学习时长: 28分1秒
14
优化篇-细节处理(持续)
学习时长: 32分19秒
15
原理篇-事件原理
学习时长: 30分48秒
16
原理篇-调度与时间片
学习时长: 23分47秒
17
原理篇- 调和与 fiber
学习时长: 35分54秒
18
原理篇-Hooks 原理
已学完
学习时长: 34分34秒
19
生态篇-React-router
学习时长: 50分9秒
20
生态篇-React-redux
学习时长: 50分34秒
21
生态篇-React-mobx
学习时长: 65分3秒
22
实践篇-实现mini-Router
学习时长: 37分19秒
23
实践篇-表单验证上
学习时长: 41分49秒
24
实践篇-表单验证下
学习时长: 46分31秒
25
实践篇-自定义弹窗
学习时长: 35分4秒
26
实践篇-自定义 Hooks 设计(持续)
学习时长: 32分13秒
27
实践篇-自定义 Hooks 实践(持续)
学习时长: 58分47秒
28
总结篇-如何有效阅读源码
学习时长: 7分18秒
29
原理篇-Context原理
学习时长: 28分27秒
30
原理篇-beginWork和render全流程
学习时长: 38分16秒
31
V18特性篇-useMutableSource(已被取缔)
学习时长: 28分37秒
32
V18特性篇-transition
学习时长: 38分15秒
33
原理篇-更新流程:进入调度任务
学习时长: 30分20秒
34
v18特性篇-concurrent 下的 state更新流程
学习时长: 29分27秒
35
v18特性篇-订阅外部数据源
学习时长: 16分53秒
36
原理篇-v18commit全流程
学习时长: 45分40秒
37
v18新特性-Offscreen
学习时长: 1秒
38
实践篇-设计并实现 keepalive 功能
学习时长: 71分13秒
juejin_logo copyCreated with Sketch.

为什么学习React?

React 是当前非常流行的用于构建用户界面的 JavaScript 库,也是目前最受欢迎的 Web 界面开发工具之一。

这主要是得益于它精妙的设计思想,以及多年的更新迭代沉淀而来的经验。

首先,React 的出现让创建交互式 UI 变得轻而易举。 它不仅可以为应用的每一个状态设计出简洁的视图。而且,当数据变动时,React 还能高效更新并渲染合适的组件。

这是因为,在 React 的世界中,函数和类就是 UI 的载体。我们甚至可以理解为,将数据传入 React 的类和函数中,返回的就是 UI 界面。

同时,这种灵活性使得开发者在开发 React 应用的时候,更注重逻辑的处理,所以在 React 中,可以运用多种设计模式,更有效地培养编程能力。

2.jpg

其次,React 把组件化的思想发挥得淋漓尽致。 在 React 应用中,一切皆组件,每个组件像机器零件一样,开发者把每一个组件组合在一起,将 React 应用运转起来。

最后,React 还具有跨平台能力。 React 支持 Node 进行服务器渲染,还可以用 React Native 进行原生移动应用的开发,随着跨平台构建工具的兴起,比如 Taro,开发者可以写一套 React 代码,适用于多个平台。

因此,学好 React,能增强我们自身的职业竞争力。

跟着小册学习React

想要系统学习 React,我建议你跟着小册学。这里,我准备了几个学习中的常见问题,我就结合它们来说说小册优势。

① “看会”等于“学会”吗?

我认为看会不等于学会的。俗话说“好记性不如烂笔头”,前端开发者学习重心还是要放到 coding 上来。

因此,《React进阶实践指南》这本小册,在讲解 React api 高阶用法,和一些核心模块原理的同时,也会列举出很多实践 Demo 去强化知识点。那么,小册的最佳学习方式就是:读者可以结合小册每一章节中的知识点,去亲自体验每一个高阶玩法,亲自尝试实现每一个 Demo。

② 有必要掌握小册中的源码吗?

这本小册有很多原理源码,我们是否有必要花费大量时间去研究它们呢?这也是很多人在学习 React 的时候比较关心的问题。我想,虽然我们没必要纠结源码中的一些细枝末节,但还是有必要掌握一些核心原理的(可以不看源码,但需要掌握原理)。原因有两点:

第一,现在前端圈子内卷严重,面试官在面试中为了对比候选人,就会问一些原理/源码层面上的问题。因此,如果应聘者不懂原理/源码,就会很吃亏。

比如应聘者在简历上写了用过 mobx 和 redux,那么面试官就很可能会问两者区别。如果这个时候应聘者的答案只是停留在两者使用层面上的区别,肯定是很难让人满意。

第二,更深的理解方可更好的使用。开发者对框架原理的深入理解可以让其在工作中,更容易发现问题、定位问题、解决问题。就算是面对一些复杂困难的技术场景,也能提供出合理的解决方案。

③ 一定要按顺序学习吗?跳着看可以吗?

本小册的难度是由浅入深的,内容是承上启下的。所以我希望每一个读者能够按照章节顺序阅读,不要跳跃式阅读。

React里程碑

在正式学习 React 之前,首先看一下 React 发展史中一些重要的里程碑(从 React16 开始),《React进阶实践指南》这本小册中,会围绕这些里程碑中的内容展开讨论。

  • v16.0: 为了解决之前大型 React 应用一次更新遍历大量虚拟 DOM 带来个卡顿问题,React 重写了核心模块 Reconciler ,启用了 Fiber 架构;为了在让节点渲染到指定容器内,更好的实现弹窗功能,推出 createPortal API;为了捕获渲染中的异常,引入 componentDidCatch 钩子,划分了错误边界。

  • v16.2:推出 Fragment ,解决数组元素问题。

  • v16.3:增加 React.createRef() API,可以通过 React.createRef 取得 Ref 对象。增加 React.forwardRef() API,解决高阶组件 ref 传递问题;推出新版本 context api,迎接Provider / Consumer 时代;增加 getDerivedStateFromProps 和 getSnapshotBeforeUpdate 生命周期 。

  • v16.6:增加 React.memo() API,用于控制子组件渲染;增加 React.lazy() API 实现代码分割;增加 contextType 让类组件更便捷的使用context;增加生命周期 getDerivedStateFromError 代替 componentDidCatch 。

  • v16.8:全新 React-Hooks 支持,使函数组件也能做类组件的一切事情。

  • v17: 事件绑定由 document 变成 container ,移除事件池等。

阅读前的声明

  • 本小册涉及的所有 React 源码版本均为 v16.13.1 ,为了用最精炼的内容把事情讲明白,本小册涉及的源码均为精简后的,会和真正的源码有出入,敬请谅解。

  • 本小册各个章节是承上启下的,所以请按照目录,渐进式阅读。

  • 所有的实践 Demo 项目,笔者已经整理到 GitHub上,地址为 《React进阶实践指南》——Demo 项目和代码片段,持续更新中。

留言
Ctrl + Enter
全部评论(117)
toDayGood的头像
删除
web前端开发工程师
202208014.44.51打卡
点赞
回复
skyler的头像
删除
开发 @ *****
打卡
点赞
回复
吃肉的小飞猪的头像
删除
前端开发工程师
哪位大佬有折扣券,太穷了,但是抵挡不住知识的吸引想学
点赞
回复
沸点观察员的头像
删除
高级摸鱼、划水攻城狮
买了个会员,购买了课程,一直想好好学react,希望能坚持~
点赞
回复
llllIIII的头像
删除
项目报错问题
* 第一步 用nvm把node版本切换到14
* 第二步 执行npm rebuild node-sass
* 第三步添加依赖"webpack": "^4.0.0", "webpack-cli": "^3.3.0", "webpack-dev-server": "^3.10.1"
* 然后再执行 npm install --force

这样应该就都能跑起来,
展开
2
回复
小鱼或灯鱼的头像
删除
会员借阅打卡1
1
回复
Holdor1的头像
删除
项目拉下来后加三个依赖 然后npm install 就没问题了
点赞
回复
前端摸鱼侠的头像
删除
打杂的 @ 摆地摊度日的公司
打卡
点赞
回复
violetyc的头像
删除
web前端开发
打卡打卡
点赞
回复
赚那么少钱好意思在这摸鱼_赶紧去卷好吗的头像
删除
问题很大💥💢💥💢 @ W
打卡
点赞
回复
不流泪的机场的头像
删除
IT Master
建议作者根据React 18对课程内容进行针对性更新!
点赞
1
删除
看后面章节。
1
回复
Alio的头像
删除
打卡
点赞
回复
Samaritan的头像
删除
买了很久了,开始学习
点赞
回复
邓小林的头像
删除
前端开发 @ 瞎逛逛
打卡 2022.04.19
点赞
回复
lycpang的头像
删除
切图仔 @ 努力让这一格不为null
react18啥时候出
点赞
1
删除
不是已经18了吗?现在官方脚手架都在用了
点赞
回复
KirySen的头像
删除
🐂
点赞
回复
青小渊的头像
删除
太强了!
1
1
删除
观摩大佬
点赞
回复
linshisancc的头像
删除
第二刷~加油[呲牙]
点赞
回复
deer的头像
删除
前端开发
看到持续更新就买了,👍
点赞
回复
lwh不想说话的头像
删除
前端 @ 斗鱼
来了
点赞
回复

查看全部 117 条回复