StateIndependentComponent
是一个很重的组成部分,而StateDependentComponent
是一个很轻的组件,但是状态变化多次且很快。
那么,每次状态更改时,StateIndependentComponent
会重新呈现吗?
<StateIndependentComponenet />
<StateDependentComponent data={this.state.data} />
答案 0 :(得分:1)
这取决于您如何实现组件。默认情况下是,但是您可以使用React.PureComponent
(类组件)或React.memo
(功能组件)使组件仅在其道具或状态实际改变时才重新渲染。
class StateIndependentComponenet extends React.PureComponent {
...
}
或
const StateIndependentComponenet = React.memo((props) => {
...
})
请务必注意上面链接的React文档中的注释,因为如果您偶然更改状态,组件似乎不会随机地重新渲染。