StateIndependentComponent
是重组件,StateDependentComponent
是轻组件,但状态变化多次且迅速。
那么,StateIndependentComponent
会在每次状态更改时重新渲染吗?
<StateIndependentComponenet />
<StateDependentComponent data={this.state.data} />
这取决于您如何实现组件。默认情况下是的,但您可以使用React.PureComponent
(类组件(或React.memo
(功能组件(使组件仅在其道具或状态实际更改时重新发布。
class StateIndependentComponenet extends React.PureComponent {
...
}
或
const StateIndependentComponenet = React.memo((props) => {
...
})
一定要注意上面链接的React文档中的注释,因为如果你意外地改变了状态,你的组件不会看起来随机地重新发布。