Redux学习(二)

中间件学习

因为redux不具备处理异步请求的能力。

  • 使用
  • rudex提供了一个applyMiddleware方法使用中间件
const store = createStore(
  reducer,
  initial_state,
  applyMiddleware(logger)
);
  • 在上面种就使用了logger中间件

异步操作

redux-thunk 中间件

redux-thunk 是一个比较流行的 redux 异步 action 中间件,比如 action 中有 setTimeout 或者通过 fetch通用远程 API 这些场景,那么久应该使用 redux-thunk 了。

  • 使用

    import { createStore, applyMiddleware } from 'redux';
    import thunk from 'redux-thunk';
    import rootReducer from './reducers/index';
    
    const store = createStore(
      rootReducer,
      applyMiddleware(thunk)
    );
    
    • action

      const addGUN = ()=>({
          type:''
      })
      
      //action 创建函数  :延迟添加 拖俩天再给
      export  function addGunAsync(){
      	//thunk插件的作用,这里可以返回函数
      	return dispatch =>{
      		//异步结束后,手动执行dispatch
      		setTimeout(() => {
      		  	dispatch(addGUN())
      		}, 2000)
      	}