redux中Action异步操作的解决方案

200 阅读1分钟

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中的异步请求完毕再去执行。