pas*_*c30 3 javascript reactjs
只是对 React 的生命周期有点困惑。这是我的理解...
该
render()总是先运行,对不对?如果是这样......
这意味着setState()内部useEffect()只在初始之后运行,对render()吗?
问题:
当上面发生时,整个组件是否重新渲染?
所以这将是组件第二次渲染只是为了加载state.
那不会是性能问题吗?
在每次状态更改时,都会再次调用渲染,但不会再次调用整个组件。
React 在内存中保留了两个 DOM 树对象:
React 有一个非常智能和强大的 diffing 算法,它计算前一个 DOMstate和下一个 DOM之间的差异,state称为Reconciliation process。
只有那些已经改变的子元素才会被重新渲染。
键帮助 React 识别哪些项目已更改、添加或删除。
键应该添加到list或array元素,以赋予这些元素一个稳定的身份
例如,您想<input key="i42"/>从列表中删除元素,例如左侧的Actual DOM Tree Object和右侧的Virtual DOM tree object。React 计算两个之间的差异,只有差异才会被智能地重新创建。
https://reactjs.org/docs/lists-and-keys.html
https://reactjs.org/docs/reconciliation.html#the-diffing-algorithm
| 归档时间: |
|
| 查看次数: |
242 次 |
| 最近记录: |