React(下) | 青训营笔记

49 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

课堂笔记

课程重点内容:

  • Reeact实现
  • 状态管理库
  • 应用级框架

Reeact实现:

存在以下问题(1)JSX不符合JS标准语法 (2)返回的JSX发生改变时,如何更新DOM (3)State/Props更新时,要重新触发render函数

(1)将JS转义成React写法

image.png

(2)DIFF算法对比虚拟DOM,虚拟DOM为js内存对象,真实DOM为浏览器对象 image.png

image.png

image.png

状态管理库:

用于存储组件间共享的数据,解决状态不合理上升问题 image.png

常用状态库 image.png

状态库实现原理 image.png

应用级框架:

常用框架 image.png

框架功能 image.png

总结:

通过分析React与JS代码的区别来探究React的实现原理,首先需要将JS转义成React写法,其次,利用diff算法对比浏览器真实DOM和JS内部虚拟DOM对象的方法来实现浏览器DOM的更新,更新思路大致是先对一个组件内发生变化的元素进行更新,然后再利用递归算法更新其余所有组件。状态管理库是React外部引入的,用来解决状态不合理上升问题(即两个子组件间数据共享需要放在祖宗节点的不合理问题)实现数据共享的一个仓库。最后,简单介绍了React的应用级框架,有硅谷明星创业公司开发的NEXT.JS框架、字节开发的MODERN.JS框架和BLITZ框架。