私は複数のチェックボックスを持つコンポーネントをビルドしています。私はboolean型VARで唯一のチェックボックスを持っている場合ReactJS:状態の配列 - 制御されない入力
は、それが(Thinking in Reactのように似て)完璧に動作しますが、私は、配列内の状態を入れたとき、私は制御不能な形の警告取得しています:
が反応を。 js:20541警告:CheckComponentは制御されていないタイプのチェックボックスの入力を変更しています。入力要素は、制御されていない状態から制御されない状態に切り替わるべきではありません(またはその逆)。 >制御された入力要素または制御されていない入力要素を>コンポーネントの存続期間中使用するかどうかを決めます。
コンポーネント:
handleChange: function(e) {
this.props.onUserInput(
this.refs[e.target.name].checked
);
},
render: function(){
var self = this;
return(
<div>
<ul>
{
categories.map(function(d, i){
return (
<li key = {d}>
<input type="checkbox" checked={self.props.checkedBox[i]} name={d} ref={d} onChange={self.handleChange}/>
<span> {d} </span>
</li>
);
})
}
</ul>
</div>
);
}
親コンポーネント:
getInitialState: function(){
return{
checkedBox: [true,true,true,true,true,true,true,true,true,true]
};
},
handleUserInput: function(checkedBox) {
this.setState({
checkedBox: checkedBox
});
},
render: function(){
return(
<div>
<CheckComponent checkedBox={this.state.checkedBox} onUserInput={this.handleUserInput} categories={this.props.categories}/>
<DisplayComponent checkedBox={this.state.checkedBox} data={this.props.data}/>
</div>
);
}
は、この配列がおかしいですか?
ライブラリを使用してあなたの世話をしましたか? react-checkbox-groupはすでにチェックボックスの状態を管理しており、制御されたコンポーネントと制御されていないコンポーネントの両方として使用できます。 –