16 lines
532 B
Plaintext
16 lines
532 B
Plaintext
import { Component } from 'preact';
|
|
import { shallowDiffers } from './util';
|
|
|
|
/**
|
|
* Component class with a predefined `shouldComponentUpdate` implementation
|
|
*/
|
|
export function PureComponent(p) {
|
|
this.props = p;
|
|
}
|
|
PureComponent.prototype = new Component();
|
|
// Some third-party libraries check if this property is present
|
|
PureComponent.prototype.isPureReactComponent = true;
|
|
PureComponent.prototype.shouldComponentUpdate = function(props, state) {
|
|
return shallowDiffers(this.props, props) || shallowDiffers(this.state, state);
|
|
};
|