redux-order
redux-order是处理redux的中间件,简化redux的异步流控制处理。
安装
npm install redux-order
引入redux-order
;;; const enhancer = ; const store = ; ;
reduces中处理异步
// actionconst LOGIN = 'auth/LOGIN';const LOGIN_SUCCESS = 'auth/LOGIN_SUCCESS';const LOGIN_FAIL = 'auth/LOGIN_FAIL'; const initialState = {};// reducer { }// 触发 action { return types: LOGIN LOGIN_SUCCESS LOGIN_FAIL promise: axios data: 'message' list: 1 2 3 4 ;}
异步action
- 在上面的例子里,我们创建了
异步
的redux请求。例子中定义了LOGIN
、LOGIN_SUCCESS
、LOGIN_FAIL
三个action,依次代表请求发出、请求成功、请求失败。在发出一个异步promise
请求后,首先触发了LOGIN
,假如请求成功则进入LOGIN_SUCCESS
,否则就进入LOGIN_FAIL
。 - 异步动作需要定义
types
,types为数组并且至少需要两个action(发出请求和结果),promise
参数为异步请求,异步请求必须为promise对象。 - 请求的结果在reducer中的action对象中获得,如果是成功的返回结果为
action.req
,失败的则是action.err
。 - 在发出action时,还可以携带payload。可以自定义需要携带的参数,在reducer中即可访问action携带的参数。
同步action
{ return type: LOGOUT ;}
上面为触发一个同步的action,type
参数定义要触发的动作,同样也可以携带payload。注意⚠️异步的action参数为types
,而同步的为type
。