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;
}