当状态更改时,react 是否会重新渲染不依赖于状态的组件?



StateIndependentComponent是重组件,StateDependentComponent是轻组件,但状态变化多次且迅速。

那么,StateIndependentComponent会在每次状态更改时重新渲染吗?

<StateIndependentComponenet />
<StateDependentComponent data={this.state.data} />

这取决于您如何实现组件。默认情况下是的,但您可以使用React.PureComponent(类组件(或React.memo(功能组件(使组件仅在其道具或状态实际更改时重新发布。

class StateIndependentComponenet extends React.PureComponent {
...
}

const StateIndependentComponenet = React.memo((props) => {
...
})

一定要注意上面链接的React文档中的注释,因为如果你意外地改变了状态,你的组件不会看起来随机地重新发布。

最新更新