首页 > react组件当中有多个类似的方法,可不可以定义一个统一的方法,分别调用

react组件当中有多个类似的方法,可不可以定义一个统一的方法,分别调用

var CreateModal = React.createClass({
  getInitialState: function() {
    return {
      A: []
      B: []
      C: []
    };
  },
  funA: function() {
    this.refs.AButton.focus();
    this.state.A = ReactDOM.render(<ModalA/>);
  }
  funB: function() {
    this.refs.BButton.fouce();
    this.state.B = ReactDOM.render(<ModalB/>); 
  }
  funC: function() {
    this.refs.CButton.fouce();
    this.state.C = ReactDOM.render(<ModalC/>); 
  }
})

funA,funB,funC的逻辑都是一样的,只是状态A,B,C不一样,可不可以提取相同的逻辑写成一个函数,然后分别调用?refs和state要怎么处理


在你的 A, B, C button 上 set id=1, 2, 3,然后你 state 里面可以放一个 focusedButton。


可以定义一个公共的方法,然后传入参数进行操作:

commonFn: function(target, val) {
    this.refs[target].focus();
    this.state[target] = val;
}
【热门文章】
【热门文章】