推荐一个 React 技术揭秘的项目,自顶向下的 React 源码分析
大家好,我是你们的 猫哥,那个不喜欢吃鱼、又不喜欢喵 的超级猫 ~
just-react
这本书的宗旨是打造一本严谨、易懂的 React 源码分析教程。
为了达到这个目标,在行文上,本书会遵循:
不预设观点 —— 所有观点来自 React 核心团队成员在公开场合的分享。
丰富的参考资料 —— 包括在线 Demo、文章、视频。
保持更新 —— 在 React 版本更新后会及时补充。当前版本 v17.0.0-alpha。
章节列表
理念篇
第一章 React理念
✅ React理念
✅ 老的React架构
✅ 新的React架构
✅ Fiber架构的心智模型
✅ Fiber架构的实现原理
✅ Fiber架构的工作原理
✅ 总结
第二章 前置知识
✅ 源码的文件结构
✅ 调试源码
✅ 深入理解JSX
架构篇
第三章 render 阶段
✅ 流程概览
✅ beginWork
✅ completeWork
第四章 commit 阶段
✅ 流程概览
✅ before mutation阶段
✅ mutation阶段
✅ layout阶段
实现篇
第五章 Diff 算法
✅ 概览
✅ 单节点Diff
✅ 多节点Diff
第六章 状态更新
✅ 流程概览
✅ 心智模型
✅ Update
✅ 深入理解优先级
✅ ReactDOM.render
✅ this.setState
第七章 Hooks
✅ Hooks理念
✅ 极简Hooks实现
✅ Hooks数据结构
✅ useState与useReducer
✅ useEffect
✅ useRef
✅ useMemo与useCallback
第八章 Concurrent Mode
✅ 概览
✅ Scheduler的原理与实现
✅ lane模型
???? 异步可中断更新
???? 高优任务打断机制
???? batchedUpdates
???? Suspense
https://github.com/BetaSu/just-react
最后
初级前端与高级前端之间,很多时候并不是懂的知识点有多难的差别,很大原因就是投入学习前端的时间、经验的差别,其实就是信息差。
如果有一个地方能又快又好的获得这些优质的前端信息,那么将会大大缩短从初级到高级的时间。
前端GitHub 就是这样一个仓库,能帮助前端开发人员节省时间的仓库!
公众号:前端GitHub,专注于挖掘优秀的前端开源项目,抹平你的前端信息不对称。
关于猫哥,大家可以看看我的年终总结 前端工程师的 2020 年终总结 - 乾坤未定,你我皆黑马。
不知不觉,已经写到第 30 期了呢,往期精文请看下方宝藏仓库,请慎入!
https://github.com/FrontEndGitHub/FrontEndGitHub
往期精文
B站收藏 12.5w+!GitHub 标星 6.6k+!这门神课拯救了我薄弱的计算机基础
Vue3 的学习教程汇总、源码解释项目、支持的 UI 组件库、优质实战项目
程序员必备的 10 大 GitHub 仓库,前端占了 7 个!
微信搜 “前端GitHub”,回复 “电子书” 即可以获得 160 本前端精华书籍哦,猫哥 WX:CB834301747 。
推荐一个 React 技术揭秘的项目,自顶向下的 React 源码分析相关推荐
- android studio 项目源码_这个标星 2.3k+ 的项目带你 Android 源码分析从入门到放弃...
上次写了一篇 Android 开发者的福利,介绍几款看源码的工具 ,这篇文章主要介绍了三款看 Android 源码的工具,后台有很多同学留言问,有没有分析源码的. 分析源码的文章也很多,但大多数文章不 ...
- react中context到底是如何传递的-源码分析
react中使用context 基本要求就是 父组件中声明Parent.prototype.getChildContext 父组件中声明Parent.childContextType 子组件声明 Ch ...
- 仿爱奇艺视频,腾讯视频,搜狐视频首页推荐位轮播图(二)之SuperIndicator源码分析
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52510431 背景:仿爱奇艺视频,腾讯视频 ...
- server如何调用 thrift_一文带你了解 Thrift,一个可伸缩的跨语言 RPC 框架(pinpoint 源码分析系列)...
Thrift 是什么研究分布式调用链工具pinpoint的时候,在源码里看到了Thrift相关的代码,所以来了兴趣,想研究研究这个框架.Thrift 目前是 Apache 的一个项目,但是它是由fac ...
- vs2008编译QT开源项目--太阳神三国杀源码分析(一) 项目编译及整体分析
请参看 http://tieba.baidu.com/f?kz=1508964881 按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装 ...
- React Native 启动速度优化——Native 篇(内含源码分析)
Web 开发有一个经典问题:「浏览器中从输入 URL 到页面渲染的这个过程中都发生了什么?」 据我考据这个问题起码有十年历史了.在日新月异学不动的前端圈子里,这个问题能一直被问,就是因为因为它是个非常 ...
- Spark技术内幕:Stage划分及提交源码分析
当触发一个RDD的action后,以count为例,调用关系如下: org.apache.spark.rdd.RDD#count org.apache.spark.SparkContext#runJo ...
- vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画
太阳神三国杀中,每当玩家出杀或吃桃子时,就会有一个动画效果,使界面非常生动绚丽.现在我们就分析一下QT中动画的原理,及实现方式,这里我们只分析吃桃子时的动画效果实现.由于三国杀有多个在线玩家同时游戏, ...
- 【华为云技术分享】深入浅出Sqoop之迁移过程源码分析
本文从简单介绍了Sqoop作业执行时相关的类及方法.并将该过程与MapReduce的执行结合,分析数据如何从源端迁移到目的端. Sqoop作业执行过程 抛开MR的执行过程,Sqoop执行时用到的关键类 ...
最新文章
- cv2.getStructuringElement 学习
- java网络编程(二)
- 2015年07月04日
- 利用Python进行数据分析(1) 简单介绍
- elasticsearch基本查询二(英文分词)term和terms查询
- OJ1019: 公园门票
- windows 2008 r2 AD密码策略
- 从测试用例角度来看传统测试人员更专业?
- 分享168套HTML个人博客模板---总有一个是你想要的
- 解决 Office 2007/2010 安装错误:1402 安装程序无法打开注册表项 UNKNOWN\Components\“随机数字”
- macOS安装brew和ffmpeg下载m3u8
- win10如何打开摄像头_解决win10相机无法使用,相机崩溃问题
- Origin 如何输出高清图片
- CSS样式写出三角形
- matlab后退和前进的快捷键,MATLAB 常用操作命令和快捷键
- 一例较成功的国产PHP问卷调查系统
- 无法读取服务器php文件mime类型,PHP获得文件的mime type类型
- 不用再找了,SQLMap基础命令合集版来了
- 10大游戏显存占用率测试
- 阿里云、腾讯云centos7安装mysql
热门文章
- 数学之路(2)-数据分析-R基础(4)
- 解决win10系统中截图异常放大的问题
- php视频文件上传到服务器,上传和下载图片和视频到服务器
- pythn3随笔-enumerate()
- vb.net2019- 目录
- 【Python】4000字归纳总结 Pandas+Sklearn 带你做数据预处理
- 【数据结构】图解霍夫曼编码,看了就能懂
- 【CV】带你入门多目标跟踪(一)领域概述
- 邹伟博士出书啦!——《强化学习》从基础概念、核心原理到应用案例(文末赠书)...
- 推荐一款文件搜索神器Everything!