Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/azl397985856/mono-react
Create React from zero series
https://github.com/azl397985856/mono-react
algorithm react tutorial
Last synced: 3 months ago
JSON representation
Create React from zero series
- Host: GitHub
- URL: https://github.com/azl397985856/mono-react
- Owner: azl397985856
- License: mit
- Created: 2018-07-04T02:56:14.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-31T15:56:11.000Z (almost 5 years ago)
- Last Synced: 2023-04-08T15:25:51.162Z (almost 2 years ago)
- Topics: algorithm, react, tutorial
- Size: 73.2 KB
- Stars: 73
- Watchers: 6
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 从零开始开发一个 React
------------------------------------
Warning: 网上有一个非常好的[同类教程](https://pomb.us/build-your-own-react/),因此本仓库**不再维护**。 强烈建议大家直接看那个,不仅从质量和更新速度上都很Nice。
-----------------------------------
为了加深自己对 React 理解,同时也能帮助到其他想要深入理解 React 原理的同学。
我开了这样的一个仓库。这个仓库分为两部分,一部分是项目主体,也就是 master 分支。这部分保持最新的代码,并尽可能实现 React 的新特性。
另一部分是供大家学习的部分,分支名称以 lecture 开头,大家可以切换到对应分支,查看相应特性的代码和课程介绍。
课程目录见后面`课程列表部分`。 大家也可以通过 [github commit](https://github.com/azl397985856/mono-react/commits/master) 功能进行比较,查看代码的变更。## 先行知识
学习这个课程之前呢,需要各位对 React 的 API 有一定的了解。
> 如果完全不了解的话,不建议您继续往下看。
如果你已经具备了相关 React 的知识,那么就让我们开始吧!
## 开始学习
如果你想学习的话,请切换到对应分支。
比如你想学习第一课,就切换到 lecture/part1 分支 ,想学习第二课,就切换到 lecture/part2 分支,依次类推。
### 课程列表
现在已经完成了 1-5 章内容的草稿,并计划在 2018-07 月份进行完善和纠错。
其他章节部分计划八月份实现。如果你特别感兴趣,请在 issue 区域留言,也许会提前也不一定。> 草稿,随时可能变更
1. [最简单的实现,包括 vdom 结构,createElement,ReactDOM.render](https://github.com/azl397985856/mono-react/tree/lecture/part1)
2. [增加 Class 的支持](https://github.com/azl397985856/mono-react/tree/lecture/part2)
3. [增加 JSX 的支持](https://github.com/azl397985856/mono-react/tree/lecture/part3)
4. [增加 state 支持](https://github.com/azl397985856/mono-react/tree/lecture/part4)
5. [增加声明周期](https://github.com/azl397985856/mono-react/tree/lecture/part5)
6. [增加 dom-diff(调和算法)](https://github.com/azl397985856/mono-react/tree/lecture/part6)
7. [增加 context api](https://github.com/azl397985856/mono-react/tree/lecture/part7)
8. 增加 ref 支持
9. 增加 PureComponent
...未完待续
## Licence
MIT