当状态改变时,是否反应不依赖状态的重新渲染组件?

时间:2020-04-10 20:01:16

标签: reactjs

StateIndependentComponent是一个很重的组成部分,而StateDependentComponent是一个很轻的组件,但是状态变化多次且很快。

那么,每次状态更改时,StateIndependentComponent会重新呈现吗?

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

1 个答案:

答案 0 :(得分:1)

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

class StateIndependentComponenet extends React.PureComponent {
    ...
}

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

请务必注意上面链接的React文档中的注释,因为如果您偶然更改状态,组件似乎不会随机地重新渲染。