2017-07-13 23 views
0

入力フィールドの値(react jの制御されたコンポーネント)に従って状態を設定しようとしていますが、入力フィールドの値を変更しようとすると、あなたがパラメータを渡すのを忘れているようだeは反応jsコンポーネントで未定義

App.js

initialState = { 
     set: { 
      team1Score: 5, 
      team2Score: 6, 
     }, 
    }; 

handleChange(e) { 
     this.setState({ 
      set: { 
       team1Score: e.target.value, 
       team2Score: e.target.value, 
      } 
     }); 
    } 

render() { 
return (
    <Match 
     set = {this.state.set}    
     handleChange={(e) => {this.handleChange()}}> 
)} 

Match.js

<ScoreInput 
    handleChange={props.handleChange} 
    set={props.set} 
/> 

ScoreInput.js

const ScoreInput = (props) => 

    <div className="c-set-input"> 
     <input 
      className="c-set-input__field" 
      placeholder="0" 
      value={props.set.team1Score} 
      onChange={props.handleChange} 
     ></input> 
     <span>:</span> 
     <input 
      className="c-set-input__field" 
      placeholder="0" 
      value={props.set.team2Score} 
      onChange={props.handleChange} 
     ></input> 
    </div> 

Error message

+3

あなたは 'handleChange'関数で' e'を渡すのを忘れました – Abhishek

答えて

2

あなたのhandleChange関数にこれを試してみてください

handleChange={(e) => this.handleChange(e)} 
関連する問題