码迷,mamicode.com
首页 > 其他好文 > 详细

React Mixin

时间:2015-10-20 16:39:34      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

Mixin用于定于复用方法,并在其他Component中使用

var SetIntervalMixin = {
  componentWillMount: function() {    //生命周期开始回调
    this.intervals = [];
  },
  setInterval: function() {    //自定义公用方法
    this.intervals.push(setInterval.apply(null, arguments));
  },
  componentWillUnmount: function() {    //生命周期结束回调
    this.intervals.forEach(clearInterval);
  }
};
var TickTock = React.createClass({
  mixins: [SetIntervalMixin],    //启用mixin中的公共方法
  getInitialState: function() {
    return {seconds: 0};
  },
  componentDidMount: function() {
    this.setInterval(this.tick, 1000);    //调用mixin中的setInterval方法
  },
  tick: function() {
    this.setState({seconds: this.state.seconds + 1});
  },
  render: function() {
    return (
      <p>
        React has been running for {this.state.seconds} seconds.
      </p>
    );
  }
});
ReactDOM.render(
  <TickTock />,
  document.getElementById(‘example‘)
);

注:Mixin中的方法不应对DOM及state有任何操作!

React Mixin

标签:

原文地址:http://my.oschina.net/CuckooLong/blog/519378

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!