联系客服1
联系客服2

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

417
回复
147798
查看
打印 上一主题 下一主题
  [复制链接]
  • TA的每日心情
    开心
    2024-9-19 21:14
  • 签到天数: 757 天

    [LV.10]以坛为家III

    7335

    主题

    8751

    帖子

    131万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    1312677

    第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章 课程总结
    对课程整体进行回顾,以及总结。



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

    收藏
    收藏4
    分享
    分享
    支持
    支持25
    反对
    反对0
    回复

    使用道具 举报

  • TA的每日心情

    2019-3-15 20:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    21

    帖子

    141

    积分

    终身会员

    Rank: 6Rank: 6

    积分
    141
    沙发
    发表于 2019-3-15 20:46:34 | 只看该作者
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2021-8-21 15:50
  • 签到天数: 331 天

    [LV.8]以坛为家I

    4

    主题

    457

    帖子

    1万

    积分

    终身会员

    Rank: 6Rank: 6

    积分
    11740
    板凳
    发表于 2019-3-18 13:52:04 | 只看该作者
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-7-16 07:21
  • 签到天数: 131 天

    [LV.7]常住居民III

    5

    主题

    341

    帖子

    6152

    积分

    终身会员

    Rank: 6Rank: 6

    积分
    6152
    地板
    发表于 2019-3-20 23:57:35 | 只看该作者
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2023-3-13 14:02
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    2

    主题

    38

    帖子

    2875

    积分

    终身会员

    Rank: 6Rank: 6

    积分
    2875
    5#
    发表于 2019-3-21 09:31:49 | 只看该作者
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-4-26 09:03
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    0

    主题

    28

    帖子

    967

    积分

    高级会员

    Rank: 4

    积分
    967
    6#
    发表于 2019-3-23 12:06:42 | 只看该作者
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-8-5 00:00
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    2

    主题

    21

    帖子

    547

    积分

    高级会员

    Rank: 4

    积分
    547
    7#
    发表于 2019-3-24 16:29:57 | 只看该作者
    正需要,支持楼主大人了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-3-25 15:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    39

    积分

    新手上路

    Rank: 1

    积分
    39
    8#
    发表于 2019-3-25 15:08:17 | 只看该作者
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-1-30 10:45
  • 签到天数: 184 天

    [LV.7]常住居民III

    0

    主题

    216

    帖子

    2369

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    2369
    9#
    发表于 2019-3-30 10:25:48 | 只看该作者
    Thanks for sharing.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-4-7 12:29
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    2

    帖子

    22

    积分

    新手上路

    Rank: 1

    积分
    22
    10#
    发表于 2019-4-7 12:31:48 | 只看该作者
    谢谢分享
    回复

    使用道具 举报

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

    本版积分规则

    学习课程!一站搞定!
    学途无忧VIP会员群

    973849140

    周一至周日9:00-23:00

    反馈建议

    1227072433@qq.com 在线QQ咨询

    扫描二维码关注我们

    学途无忧!为学习谋坦途,为会员谋福利!|网站地图