【发布时间】:2018-04-23 22:16:06
【问题描述】:
我正在尝试考虑这个用例的最佳实践:
我有一个内部状态:results[],它将用于在渲染中显示数据。
然后,我需要并行调用 3 个 API,然后将它们合并并排序到 results[] 中,最后渲染它。
我正在使用 axios 来调用 API,但我不想使用 axios.all,因为我需要在 3 个 API 都返回时显示 results[],这样看起来会更快。
我遇到了问题,因为每次我使用 this.setState() 用新数据更新 results[] 时,后面的操作总是看到旧的 results[]; this.setState() 不会立即被应用..
最好的方法是什么?
【问题讨论】:
-
使用
this.setState((prevState) => ({ xxx: do(prevState.xxx)}));
标签: javascript reactjs asynchronous async-await axios