2017-06-10 4 views
1
handleChange(event){ 
    this.setState({value: event.target.value}); 
    console.log("You picked up" + this.state.value); 
    } 



<select value={this.state.value} onChange={this.handleChange} onClick={this.handleOnClick}> 

なぜ、handleChange()が現在選択されている値ではなく、以前に選択された値を返すのか不思議です。ここでReactjsで最新の値を取得する方法

は私の完全なコードです: https://codepen.io/franva/pen/owbmaQ

+0

可能な複製:https://stackoverflow.com/questions/29490581/react-state-not-updatedこの動作については、ここで詳しく説明します。https://facebook.github.io/react/docs/react-component.html#setstate –

+0

[クリック反応の状態を変更する]の可能な複製(https://stackoverflow.com/質問/ 41278385/change-state-on-click-react-js) –

答えて

3

setState()は非同期です。お試しください

this.setState({ value: event.target.value },() => { 
    console.log("You picked up" + this.state.value); 
}); 
+0

ありがとう〜!私はsetStateがコールバックを持っているか分からなかった〜! :) – Franva

関連する問題