异步的 Actions
前几篇的教程里面,我们搭建了一个 todo 应用。这是一个完全同步的,每次一个 action 被 dispatched, state 都会即时更新。 解析来,我们要搭建一个不同的,异步的应用。它使用 Reddit API 来展示一个选中栏目的头条。
Actions
当你调用一个异步的 API 时,有两个至关重要的时刻:你开始调用的时刻,和你收到答复的时刻。
这两个时刻通常都会需要对应用的 state 做出变化;为此,你需要 dispatch 普通的将会被 reducers 同步处理的 actions. 通常,对于任意 API 请求,你将需要 dispatch 至少三次不同的 actions:
- 一个通知 reducers 请求开始的 action
reducers 可能通过切换一个 state 中的
isFetching
flag 来处理这个 action. 用来告诉 UI 是时候显示一个等待标识了。 - 一个通知 reducer