项目作者: steamerjs

项目描述 :
适配immutable的react pure-render-decorator
高级语言: JavaScript
项目地址: git://github.com/steamerjs/pure-render-immutable-decorator.git


pure-render-immutable-decorator

compare props and state automatically

Install

  1. $ npm install pure-render-immutable-decorator --save

Usage

If you don’t care the data in shouldComponentUpdate, you can just use the decorator way. But you have to install babel-plugin-transform-decorators-legacy plugin for compilation.

  1. import pureRender from "pure-render-immutable-decorator";
  2. @pureRender
  3. class List extends Component {
  4. constructor(props, context) {
  5. super(props, context);
  6. }
  7. render() {
  8. return (
  9. <div></div>
  10. );
  11. }
  12. }

If you need to modify logic in shouldComponentUpdate, you can use it like this:

  1. import { deepCompare } from "pure-render-immutable-decorator";
  2. class List extends Component {
  3. constructor(props, context) {
  4. super(props, context);
  5. }
  6. shouldComponentUpdate(nextProps, nextState) {
  7. // some logic
  8. var shouldUpdate = /* some logic */
  9. return deepCompare(this, nextProps, nextState) && shouldUpdate;
  10. }
  11. render() {
  12. return (
  13. <div></div>
  14. );
  15. }
  16. }

Non-Immutable Version