例如,我想写这样的东西:
class MyComponent extends PureComponent {
shouldComponentUpdate(nextProps, nextState, nextContext) {
console.log('shouldComponentUpdate');
return super.shouldComponentUpdate(nextProps, nextState, nextContext);
}
}
但是super.shouldComponentUpdate未定义。
反应16.0.0
答案 0 :(得分:1)
在大多数情况下,PureComponent等效于通过对当前属性和先前的props和状态进行浅比较来实现shouldComponentUpdate()。 但是,如果您想手动编写shouldComponentUpdate(),则可以从React.Component继承。
答案 1 :(得分:1)
进一步扩大Victor的回应。 PureComponent和Component在react中的区别在于,纯组件通过对props和state进行浅层比较来处理shouldComponentUpdate。
如果您想提供一个自定义的shouldComponentUpdate来处理何时以及何时不应该更新组件,我建议您仅使用常规组件。我还要指出,PureComponent和Component都需要一个构造函数,该构造函数将super()调用作为第一行。
答案 2 :(得分:-1)