1.actionCreater
可以理解为改造后的action。(进化版)
运用场景: 向后台异步抓取数据
主要作用:
1. 发送第一个dispatch给reducer,表示正在抓取数据。
2. 发送数据请求给后台,获取数据,返回promise
3. 发送第二个dispatch给reducer,表示数据获取完毕,并存储数据到state
2. redux-thunk
可以理解为一个action的性能改造器,使得dispatch不仅能够接受对象,而且能够接受函数。
3. 解决方法
利用上述的actionCreater和redux-thunk。
异步操作的第一种解决方案就是,写出一个返回函数的 Action Creator,然后使用redux-thunk中间件改造store.dispatch。
4.其他代替方案
1.用redux-promise代替redux-thunk使得dispatch能够接收一个promise对象。
2.使用createAction,调用dispatch(createAction({type,payload})其中payload可以是一个promise对象,action发送到reducer会等到payload中的异步请求完毕再去执行。