如果道具是不可变的,则可以使用react的
shallowCompare。例如,如果您使用诸如immutablejs之类的道具,或者通过替换而不是对其进行突变来更改对象,则道具可能是不可变的。
constprop = Object.assign({}, prop, { changedValues: 'value' });var shallowCompare = require('react-addons-shallow-compare');export class SampleComponent extends React.Component { shouldComponentUpdate(nextProps, nextState) { return shallowCompare(this, nextProps, nextState); } render() { return <div className={this.props.className}>foo</div>; }}对于非es6,非节点环境:
相当于
var shallowCompare = require('react-addons-shallow-compare');是varshallowCompare = React.addons.shallowCompare;如此完整的例子是:
var SampleComponent = React.createClass({ shouldComponentUpdate: function(nextProps, nextState) { return React.addons.shallowCompare(this, nextProps, nextState); }, render: function() { return React.createElement('div', {className:this.props.className}, 'foo'); }});


