React?の以下のような単純化のベストプラクティスがありますか?Reactでの繰り返しコードの簡略化
const Checkboxes = React.createClass({
getInitialState: function() {
return {
checkboxes: [false, false, false, ...]
};
},
selectCheckbox: function (index) {
let checkboxes = this.state.checkboxes.slice();
checkboxes[index] = !checkboxes[index];
this.setState({
checkboxes: checkboxes
});
},
render: function() {
return (
<div>
<input type="checkbox" checked={this.state.checkboxes[0]} onChange={() => this.selectCheckbox(0)} />
<input type="checkbox" checked={this.state.checkboxes[1]} onChange={() => this.selectCheckbox(1)} />
<input type="checkbox" checked={this.state.checkboxes[2]} onChange={() => this.selectCheckbox(2)} />
...
</div>
);
}
});
を私は新しいです:
getInitialState: function() {
return {
checkbox1: false,
checkbox2: false,
checkbox3: false,
...
};
},
selectCheckbox1: function() {
this.setState({
checkbox1: !this.state.checkbox1
});
},
selectCheckbox2: function() {
this.setState({
checkbox2: !this.state.checkbox2
});
},
selectCheckbox3: function() {
this.setState({
checkbox3: !this.state.checkbox3
});
},
...
render: function() {
return (
<div>
<input type="checkbox" checked={this.state.checkbox1} onChange={this.selectCheckbox1} />
<input type="checkbox" checked={this.state.checkbox2} onChange={this.selectCheckbox2} />
<input type="checkbox" checked={this.state.checkbox3} onChange={this.selectCheckbox3} />
...
</div>
);
}
は例えば、私は、チェックボックス更新する代わりに、個々のフィールドの状態のための配列を使用して区別するために、インデックスパラメータをとる汎用関数を作成することができますReactとJavaScriptを使用しているので、ここでは舞台裏で起こっているトレードオフを正確に把握していません。第2は第1よりも改善ですか?どちらが好ましいのですか?
この質問はまだのように未解決示しています。それは...ですか? – jonahe