implement shouldComponentUpdate to make the re-render much faster for Checkbox

This commit is contained in:
Leon Shi 2016-06-07 17:54:06 +08:00
parent 0f5fe7bb21
commit 71fc0774c0
3 changed files with 9 additions and 0 deletions

View File

@ -1,5 +1,6 @@
import React from 'react';
import Checkbox from './index';
import PureRenderMixin from 'react-addons-pure-render-mixin';
export default class CheckboxGroup extends React.Component {
static defaultProps = {
@ -30,6 +31,9 @@ export default class CheckboxGroup extends React.Component {
});
}
}
shouldComponentUpdate(...args) {
return PureRenderMixin.shouldComponentUpdate.apply(this, args);
}
getOptions() {
const { options } = this.props;
return options.map(option => {

View File

@ -2,12 +2,16 @@ import RcCheckbox from 'rc-checkbox';
import React from 'react';
import CheckboxGroup from './Group';
import classNames from 'classnames';
import PureRenderMixin from 'react-addons-pure-render-mixin';
export default class Checkbox extends React.Component {
static Group = CheckboxGroup;
static defaultProps = {
prefixCls: 'ant-checkbox',
}
shouldComponentUpdate(...args) {
return PureRenderMixin.shouldComponentUpdate.apply(this, args);
}
render() {
const { prefixCls, style, children, className, ...restProps } = this.props;
const classString = classNames({

View File

@ -70,6 +70,7 @@
"rc-upload": "~1.13.0",
"rc-util": "~3.1.3",
"react-slick": "~0.12.0",
"react-addons-pure-render-mixin": "~15.1.0",
"warning": "~3.0.0"
},
"devDependencies": {