dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 145201|回复: 665

[@] React源码深度解析 高级前端工程师必备技能 完整版

  [复制链接]

该用户从未签到

49

主题

7865

帖子

940

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
940

发表于 2019-3-5 21:59:19 | 显示全部楼层 |阅读模式
程序人生
课程方向: 网页前端 
课程类型: 框架 

本站资源全部免费,回复即可查看下载地址!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5c32c05b085f95bf06000338-360-202.jpg
第1章 课程导学
对课程整体进行讲解。
1-1 课程导学 试看

第2章 基础知识 React API 一览
React主要API介绍,在这里你能了解它的用法,为下一章源码分析打基础。
2-1 准备工作 试看
2-2 JSX到JavaScript的转换
2-3 react-element
2-4 react-component
2-5 react-ref
2-6 forward-ref
2-7 context
2-8 concurrent-mode
2-9 suspense-and-lazy
2-10 hooks
2-11 children
2-12 others

第3章 React中的更新
主要讲解React创建更新中的主要两种方式ReactDOM.render和setState,他们具体做了什么。
3-1 react-dom-render 试看
3-2 react-fiber-root
3-3 react-fiber
3-4 react-update-and-updateQueue
3-5 react-expiration-time
3-6 different-expirtation-time
3-7 react-setState-forceUpdate

第4章 Fiber Scheduler
创建更新之后,找到Root然后进入调度,同步和异步操作完全不同,实现更新分片的性能优化。
4-1 总结流程概览
4-2 scheduleWork
4-3 requestWork
4-4 batchedUpdates
4-5 reactScheduler(1)
4-6 reactScheduler(2)
4-7 reactScheduler(3)
4-8 reactScheduler(4)
4-9 performWork
4-10 renderRoot
4-11 最后补充

第5章 各类组件的Update
讲解10多种不同类型的组件的更新过程,以及如何遍历节点形成新的Fiber树
5-1 入口和优化
5-2 FunctionalComponent的更新
5-3 reconcilerChildren
5-4 reconcilerChildren-array
5-5 updateClassComponent
5-6 ClassComponent的更新
5-7 IndeterminateComponent组件类型和其更新过程
5-8 HostRoot的更新
5-9 HostComponent和HostText的更新
5-10 Poratl组件的更新
5-11 ForwardRef的更新
5-12 Mode组件的更新
5-13 Memo组件的更新

第6章 完成节点任务
完成节点更新之后完成节点的创建,并提供优化到最小幅度的DOM更新列表
6-1 completeUnitOfWork的整体流程和意义
6-2 重设childExpirationTime
6-3 completWork具体做了什么
6-4 初次渲染中completeWork对于DOM节点的创建和appendAllChild算法
6-5 初次渲染中如何进行DOM节点属性初始化操作
6-6 更新DOM时进行的diff判断
6-7 completeWork阶段对于HostText的更新
6-8 renderRoot中对于错误的处理
6-9 unwindWork以及React中的错误处理

第7章 commitRoot
根据更新列表最小幅度的改变DOM,实现UI的更新。
7-1 commitRoot的总体工作内容
7-2 invokeGuardedCallback开发时的帮助方法
7-3 commitRoot第一个操作-获取快照
7-4 commitAllHostEffects总体做了哪些事情
7-5 commitPlacement插入新的子节点的操作
7-6 commitWork更新节点属性的过程
7-7 commitWork删除节点的操作过程
7-8 commitLifecycles调用生命周期方法

第8章 功能详解:基础
各种贯穿于更新和提交阶段的功能,他们在哪里发挥作用,又是如何实现功能的
8-1 context-stack
8-2 遗留context-api的实现过程(1)
8-3 遗留context-api的实现过程(2)
8-4 新context的实现
8-5 ref的实现过程
8-6 hydrate-是否需要hydrate的判断
8-7 hydrate-更新开始判断节点是否可以hydrate
8-8 hydrate-再completeWork中复用可hydrate的节点
8-9 event事件系统初始化-注入平台事件插件
8-10 event事件监听的过程
8-11 event-事件触发的过程
8-12 event-事件对象的生产过程
8-13 event查漏补缺

第9章 suspense and priority
Suspense作为下一个React的杀手功能,他又是如何实现异步渲染的呢?
9-1 优先级和任务挂起的含义(1)
9-2 优先级和任务挂起的含义(2)
9-3 两个expirationTime的不同作用
9-4 Suspense组件同步模式下的更新
9-5 Suspense组件同步渲染模式补充
9-6 Suspense组件异步模式下的更新
9-7 retrySuspendedWork所做的事情

第10章 功能详解:Hooks
Hooks颠覆原先的React组件开发模式,提供更小粒度的更新以及更加适合解耦的API。
10-1 什么是Hooks以及他的用法
10-2 Hooks的定义以及执行前后的准备和重置
10-3 useState的实现原理和注意事项(1)
10-4 useState的实现原理和注意事项(2)
10-5 useEffect和useLayoutEffect的实现原理和区别
10-6 其他Hooks的实现

第11章 课程总结
对课程整体进行回顾,以及总结。


游客,如果您要查看本帖隐藏内容请回复








温馨提示:
1、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
5、若发现链接失效了请联系管理员,管理员会在2小时内修复
6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
回复

使用道具 举报

  • TA的每日心情
    擦汗
    13 小时前
  • 签到天数: 537 天

    [LV.9]以坛为家II

    2

    主题

    2230

    帖子

    6280

    积分

    终身会员[B]

    积分
    6280

    发表于 2019-3-5 22:17:17 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2024-12-18 09:28
  • 签到天数: 146 天

    [LV.7]常住居民III

    0

    主题

    234

    帖子

    958

    积分

    终身会员[B]

    积分
    958

    发表于 2019-3-6 01:41:01 | 显示全部楼层
    确实是难得好帖啊,顶先
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-30 09:10
  • 签到天数: 28 天

    [LV.4]偶尔看看III

    0

    主题

    104

    帖子

    324

    积分

    豁然贯通

    Rank: 4

    积分
    324

    发表于 2019-3-6 08:09:13 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-7-25 08:36
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    0

    主题

    180

    帖子

    672

    积分

    技冠群雄

    Rank: 6Rank: 6

    积分
    672

    发表于 2019-3-6 08:57:26 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-12-17 17:38
  • 签到天数: 317 天

    [LV.8]以坛为家I

    0

    主题

    795

    帖子

    2736

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    2736

    发表于 2019-3-6 09:00:44 | 显示全部楼层
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2024-11-8 08:57
  • 签到天数: 136 天

    [LV.7]常住居民III

    0

    主题

    299

    帖子

    1208

    积分

    技冠群雄

    Rank: 6Rank: 6

    积分
    1208

    发表于 2019-3-6 09:00:50 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-12-18 09:32
  • 签到天数: 241 天

    [LV.8]以坛为家I

    1

    主题

    420

    帖子

    1727

    积分

    一代宗师

    Rank: 7Rank: 7Rank: 7

    积分
    1727

    发表于 2019-3-6 09:04:22 | 显示全部楼层
    我只是路过打酱油的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-12-3 22:06
  • 签到天数: 513 天

    [LV.9]以坛为家II

    0

    主题

    833

    帖子

    3208

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    3208

    发表于 2019-3-6 09:12:56 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-5-26 07:45
  • 签到天数: 237 天

    [LV.7]常住居民III

    0

    主题

    483

    帖子

    1913

    积分

    终身会员[B]

    积分
    1913

    发表于 2019-3-6 09:33:45 | 显示全部楼层
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2024-12-26 23:37 , Processed in 0.103031 second(s), 45 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表