最近对 React 的生命周期有些困惑。
这是我的理解...
render()
总是第一个运行,对吗?如果是这样的话...
这意味着在useEffect()
中的setState()
只会在初始的render()
后运行,对吗?
问题:
当上述情况发生时,整个组件是否会重新渲染?
那么加载一个 state
就需要组件再次重新渲染,这难道不会影响性能吗?
最近对 React 的生命周期有些困惑。
这是我的理解...
render()
总是第一个运行,对吗?如果是这样的话...
这意味着在useEffect()
中的setState()
只会在初始的render()
后运行,对吗?
问题:
当上述情况发生时,整个组件是否会重新渲染?
那么加载一个 state
就需要组件再次重新渲染,这难道不会影响性能吗?
<input key="i42"/>
元素,因此左侧为其实际DOM树对象,右侧为其虚拟DOM树对象。React计算两者之间的差异,只有差异才会被智能地重新创建。
https://reactjs.org/docs/lists-and-keys.html
https://reactjs.org/docs/reconciliation.html#the-diffing-algorithm