200行代碼實現 mini-React

介紹

爲了加深本身對 React 理解,同時也能幫助到其餘想要深刻理解 React 原理的同窗。 我寫了這篇文章並開了一個倉庫。全部的代碼均可以在這個倉庫找到,具體使用方法,請查看README。react

目前實現的功能包含純函數支持,class支持,state支持,生命週期支持,jsx支持(這個並不能說是mini-react支持)。 後續內容持續更新中git

我給他命名爲 mono-reactgithub

先行知識

學習這個課程以前呢,須要各位對 React 的 API 有必定的瞭解。算法

若是徹底不瞭解的話,不建議您繼續往下看。api

若是你已經具有了相關 React 的知識,那麼就讓咱們開始吧!dom

開始學習

若是你想學習的話,請切換到對應分支。函數

好比你想學習第一課,就切換到 lecture/part1 分支 ,想學習第二課,就切換到 lecture/part2 分支,依次類推。post

課程列表

如今已經完成了 1-5 章內容的草稿,並計劃在 2018-07 月份進行完善和糾錯。 其餘章節部分計劃八月份實現。若是你特別感興趣,請在 issue 區域留言,也許會提早也不必定。學習

草稿,隨時可能變動code

  1. 最簡單的實現,包括 vdom 結構,createElement,ReactDOM.render

  2. 增長 Class 的支持

  3. 增長 JSX 的支持

  4. 增長 state 支持

  5. 增長聲明週期

  6. 增長 dom-diff(調和算法)

  7. 增長 context api

  8. 增長 ref 支持

  9. 增長 PureComponent

...未完待續

相關文章
相關標籤/搜索