这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
课堂笔记
课程重点内容:
- Reeact实现
- 状态管理库
- 应用级框架
Reeact实现:
存在以下问题(1)JSX不符合JS标准语法 (2)返回的JSX发生改变时,如何更新DOM (3)State/Props更新时,要重新触发render函数
(1)将JS转义成React写法
(2)DIFF算法对比虚拟DOM,虚拟DOM为js内存对象,真实DOM为浏览器对象
状态管理库:
用于存储组件间共享的数据,解决状态不合理上升问题
常用状态库
状态库实现原理
应用级框架:
常用框架
框架功能
总结:
通过分析React与JS代码的区别来探究React的实现原理,首先需要将JS转义成React写法,其次,利用diff算法对比浏览器真实DOM和JS内部虚拟DOM对象的方法来实现浏览器DOM的更新,更新思路大致是先对一个组件内发生变化的元素进行更新,然后再利用递归算法更新其余所有组件。状态管理库是React外部引入的,用来解决状态不合理上升问题(即两个子组件间数据共享需要放在祖宗节点的不合理问题)实现数据共享的一个仓库。最后,简单介绍了React的应用级框架,有硅谷明星创业公司开发的NEXT.JS框架、字节开发的MODERN.JS框架和BLITZ框架。