https://blog.csdn.net/u013475983/article/details/117417050
https://juejin.cn/post/6847902224413097991#heading-0
https://cloud.tencent.com/developer/article/1612867
React 的响应式是使用 diff 算法实现的
- 在 state 或 props 改变时,会调用 render() 方法,生成一个虚拟 DOM 树
- React 会将这棵树与上一次生成的树进行比较,找出其中的差异,并更新差异的部分。
这个过程是递归的,React 会以当前组件为根,递归比较所以子节点。为了优化性能,React 提供了 shouldComponentUpdate 生命周期方法,如果这个方法返回 false,React 就跳过这个组件,不做 VDOM 比较,也不更新组件。
在 React 的世界里,“Virtual DOM” 通常与 React 元素关联在一起,因为它们都是代表了用户界面的对象。而 React 也使用一个名为 “fibers” 的内部对象来存放组件树的附加信息。上述二者也被认为是 React 中 “Virtual DOM” 实现的一部分