2017-03-10 6 views
0

以下のコードを実行するとこの警告が表示されます。エラーを削除するにはどうすればよいですか?React JS warning

ありがとうございます。

警告:失敗したフォームpropType:あなたはonChangeハンドラなしフォームフィールドへvalue小道具を提供します。これにより、読み取り専用フィールドがレンダリングされます。フィールドを変更可能にする場合は、defaultValueを使用します。それ以外の場合は、onChangeまたはreadOnlyのいずれかを設定します。レンダリング方法がtestであることを確認してください。

var test = React.createClass({ 

getInitialState : function(){ 
    return { 
     number : 10, 
     checked: [], 
     selected : [] 
    }; 
}, 

componentWillMount : function(){ 

}, 

moreAilment : function(){ 
    var temp = this.state.number + 5; 
    this.setState({number:temp}); 
}, 

handleChangechk: function (e){ 
    const target = e.target; 
    const value = target.type === 'checkbox' ? target.checked : target.value; 
    const name = target.name; 
    var checkedCopy = this.state.checked.slice(); 
    var selectedCopy = this.state.selected.slice(); 

    if(value===true) { 
      checkedCopy[name] = true; 
      selectedCopy [name] = name; } 
    else { 
      checkedCopy[name] = false; 
      selectedCopy [name] = ''; } 

    this.setState({ 
       checked: checkedCopy, 
       selected: selectedCopy }); 
}, 


render : function() { 

    var ailmentsList = []; 
    var selectedList= []; 

    for (var i = 0; i < this.state.number; i++) { 

     ailmentsList.push(<span ><input type="checkbox" checked={!!this.state.checked[i]} onChange={(e)=> {this.handleChangechk(e)}} /><span ></span><label> Asthma {i}</label></span>); 
     if(this.state.selected[i]) 
      { 
       selectedList.push(this.state.selected[i]); 
      } 
    }; 

    return(
      <div className> 
       {selectedList} 
      </div> 
     ); 

    } 
}); 
+0

をやっていますか? – evolutionxbox

+0

はい。私はまだ同じ警告を得る。 –

+0

あなたはフィドルを作成できますか? – Danish

答えて

0

は、あなたがあなたのチェックボックス にdefaultChecked属性を追加する必要があり、基本的にこの

<div> 
    <input type='checkbox' defaultChecked /> 
</div> 

を試みることができるか、あなたがこのONCHANGE行うことができますしようと動作しますが、できますかどうかはわかりません道

onChange={this.handleChangechk} 

代わりのonChange={(e)=> {this.handleChangechk(e)}}

EDIT:あなたはエラーが示唆するもの作成したチェックボックスをいじる作業の簡単な例とチェックボックスのボタンのトグル状態 http://jsfiddle.net/yeoman/payugwju/1/

+0

これも試しましたが、同じ警告が表示されます。 –

+0

これを試すことができます 'defaultChecked = {this.props.checked}' – Danish

+0

まだ動作しません、同じ警告、デンマークをスローします。 :( –