我想知道哪种技术最适合提高React应用程序的性能。我了解了组件生命周期方法componentWillReceiveProps
和shouldComponentUpdate
,但我并不确定应该在理想情况下实施哪一种方法来避免不必要的重新渲染。
最好是同时实现两者还是只实现其中一种?
另外,我不明白为什么shouldComponentUpdate
如果nextProps
已经(应该)处理componentWillReceiveProps
,Android Studio Settings or Preferences-> Build,Execution,Deployment -> Instant Run.
会收到Settings --> Additional settings --> Developer options --> Turn Off MIUI optimization
。
答案 0 :(得分:0)
componentWillReceiveProps(props) {
console.log("componentWillReceiveProps");
return false; // This will not terminate further control flow in this component.
}
shouldComponentUpdate(props, newState) {
console.log("shouldComponentUpdate");
return false; // This terminates further control flow in this component.
}
根据条件,您可以从shouldComponentUpdate
方法返回布尔值。如果您要返回false
,则不会调用componentWillUpdate()
方法。
答案 1 :(得分:0)
当您需要在问题中描述的行为时,请使用PureComponent而不是Component。 https://reactjs.org/docs/react-api.html#reactpurecomponent