summaryrefslogtreecommitdiff
path: root/preact/compat/src/PureComponent.js
blob: 6396ce4a80268e50c16f995accedaa5ba0443ea9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);
};