2017-08-27 5 views
1

リアクションのsetStateは非同期なので、非同期/待機関数でラップすることをお勧めします。その結果、状態変数に致命的に依存するものは常に更新されます値?リアクションのsetState関数がES8のasync/awaitにある

+0

setStateは、現在の状態に応じて変更を加えるために使用できるコールバックを提供します。 https://stackoverflow.com/questions/42038590/when-to-use-react-setstate-callback/42038724#42038724を参照してください。 –

答えて

1

async/awaitの実装が可能です。たとえば、あなたの内部のコンポーネントの反応:

setStateAsync(state) { 
    return new Promise((resolve) => { 
    this.setState(state, resolve) 
    }); 
} 

async setStateAndDoSomethingRightAfter(state) { 
    await this.setStateAsync({state}) 
    // now do something after 
} 

をしかし、私はそれが推奨になるかはわかりません。理由のためにライフサイクルの方法があります。

私は物事の「反応する」方法はcomponentDidMount/componentWillUpdate/componentDidUpdateの内側に新しい状態に依存しますあなたのコードを配置することであると信じています。

1

setStateという2番目のパラメータをコールバックとして使用できます。 DOCS
this.setState({ key: val }, callBack)

関連する問題