React學習之擴展淺比較(三十四)

注意

這玩意也已經被React.PureComponent的功能取代了,這裏依舊是提一下(主要是React.v15的版本中的react-with-addons.js,這些玩意還存在,哎,害人吶)

引入

import shallowCompare from 'react-addons-shallow-compare' // ES6
var shallowCompare = require('react-addons-shallow-compare') // ES5 with npm
var shallowCompare = React.addons.shallowCompare; // ES5 with react-with-addons.js

1.概要

PureRenderMixin一樣,如果你的React組件的渲染函數是一個純函數也就是說對於相同的值返回一樣的結果同時不影響原元素,在某些場景下,你可以利用這個插件來極大地提升性能,和前面那一篇博客一樣的話,嘿嘿。

class SampleComponent extends React.Component {
  shouldComponentUpdate(nextProps, nextState) {
    return shallowCompare(this, nextProps, nextState);
  }

  render() {
    return <div className={this.props.className}>foo</div>;
  }
}

說來也只是實現了React.PuerComponent的功能,或許在這個組件構建之外還有點用,然而React就是用來構造組件的。

下一篇將講ReactLinkedStateMixin(雖然這玩意已經被棄用,有趣)

發佈了447 篇原創文章 · 獲贊 471 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章