私は子供が2人いるコンポーネントがあります。ReactJsなぜ部分的な状態が変化したときにコンポーネント全体を描画するのですか?
React.createClass({
getInitialState: function(){
return {ch_1 : 'Child 1', ch_2: 'child_2'};
},
_onChange : function(e){
var value = e.target.value;
var id = e.target.id;
if(id == '1'){
this.setState({ch_1 : value});
}
else{
this.setState({ch_2 : value});
};
},
Render : function(){
return React.createElement('div', {key: 10000 },
React.createElement('input', {id: '1', key: 10, value: this.state.ch_1,
onChange: this._onChange}),
React.createElement('input', {id: '2', key: 20, value: this.state.ch_2,
onChange: this._onChange}))
}
});
部分的な状態が変更されると、コンポーネント全体が再び描画されます。問題は、私のプロジェクトではたくさんの子供がいて、コンポーネント全体を再描画するとプロジェクトが遅すぎるということです。私はすべてのコンポーネントが更新されるのを待たなければならないので(私は約200人の子供について話している)。
いずれにしても、そのように機能する理由を教えてください。
が
可能重複https://stackoverflow.com/questions/33613728/what-happens-when-using-this-setstate-multiple-times-in-react-component – oklas
あなたは可能性'shouldComponentUpdate(nextProps、nextState)'を使用して、コンポーネントが再レンダリングする必要があるかどうかを判断します。 https://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate – Akeel