将支柱传递给孩子会导致所有所有者重新渲染

时间:2016-08-10 00:00:13

标签: javascript reactjs

我有一个组件PP,它有一个装饰器,每隔几秒就会收到一个道具patternStreamsPP拥有一个名为PPView的组件并将其patternStreams连续传递,PPView拥有一个RP组件并将其传递给patternStreams
通过在每个组件的console.log方法中放置render(),我注意到,当将prop传递给PP组件时,每隔几秒就会重新绘制所有3个组件。
唯一需要重绘的组件是RP,那么如何防止重新绘制其余组件?

1 个答案:

答案 0 :(得分:1)

有一种名为shouldComponentUpdate的生命周期方法可以完全满足您的需求 - https://facebook.github.io/react/docs/component-specs.html#updating-shouldcomponentupdate

  

在收到新道具或州时,在渲染前调用。   初始渲染或forceUpdate时不调用此方法   使用。

     

当您确定时,请将此作为返回false的机会   过渡到新道具和州不需要组件   更新