リアクションのsetStateは非同期なので、非同期/待機関数でラップすることをお勧めします。その結果、状態変数に致命的に依存するものは常に更新されます値?リアクションのsetState関数がES8のasync/awaitにある
1
A
答えて
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)
関連する問題
- 1. リアクションのsetStateハンドラに関する問題
- 2. リアクションのsetStateについて
- 3. リアクションsetStateが動作しない
- 4. リアクション内のレンダリング関数の内部状態がヌルである
- 5. リアクションsetState内部solidityコントラクトインスタンス約束
- 6. 関数にsetstateを返す
- 7. Coffeescript - リアクションsetStateがクリック後にレンダリングされない
- 8. 現在の状態に基づいてリアクション内のsetState
- 9. コンポーネントのレンダリングされた高さに基づいてリアクションsetState
- 10. リアクション関数が値を返さない
- 11. ReactJS SetState関数$ .getJson実際
- 12. React - setStateへの関数の戻り値
- 13. キャンバスでリアクションsetStateを使って描画する
- 14. React setState関数の軽微な問題
- 15. リアクション(ネイティブ)関数から定数
- 16. _this3は関数ではありません(リアクション)
- 17. リアクションsetStateはajaxで再レンダリングされません
- 18. reactjs変数をsetState内の関数に渡す方法
- 19. setStateは関数ではありません
- 20. React Uncaught TypeError:_this2.setStateは関数ではありません
- 21. React - _this2.SetStateは関数ではありません
- 22. _this8.setStateは関数ではありません
- 23. テストのリアクション関数がJestで呼び出された
- 24. アンカータグがリアクションのonClick関数を呼び出さない
- 25. リアクションはsetStateを反映するために再レンダリングされません
- 26. setStateは関数のバインディングに干渉します
- 27. 未処理のJS例外:_this2.setStateは関数ではありません
- 28. setStateは、内部で使用中の関数ではありません。Reactjs
- 29. 純粋なES2015関数で "setState"に反応する方法
- 30. setState関数と複雑なオブジェクトに反応する
setStateは、現在の状態に応じて変更を加えるために使用できるコールバックを提供します。 https://stackoverflow.com/questions/42038590/when-to-use-react-setstate-callback/42038724#42038724を参照してください。 –