React是重新渲染整个顶级组件还是仅对其中发生更改的单个组件进行渲染?

时间:2018-07-26 19:50:41

标签: javascript reactjs dom create-react-app

我想知道在效率上,是否只有create-react-app设置的文件中的这一行,

ReactDOM.render(<App />, document.getElementById('root'));

以及另一个名为App的文件中的一个类,其中包含对许多其他类的调用,并且可能包含对其他文件的类的调用,这些子类之一的细微变化需要重新渲染整个App类,或者只是需要更改的单个班级。我希望这是有道理的。谢谢!

1 个答案:

答案 0 :(得分:0)

通常,如果shouldComponentUpdate返回true,则重新渲染树。这意味着经典反应组件class Component1 extends React.Component每次都会重新渲染。如果只希望子组件的属性更改时才重新渲染子组件,则应使用React.PureComponent,该组件提供shouldComponentUpdate,可以对属性进行浅层比较。