react中使用中间件

2020-06-26  本文已影响0人  冬天的_太阳

中间件就是在action中不直接去更新数据,而是要通过一定异步处理之后再去更新store里面的数据。

*这里以redux-thunk为例:

cnpm install react-thunk --save
import {
    createStore,
    applyMiddleware
} from "redux"
// 使用中间件的步骤1
import logger from "redux-logger"
import thunk from "redux-thunk"
import {
    deflate
} from "zlib";
const counterRdeux = (state = 0, action) => {
    switch (action.type) {
        case "add":
            return state + 1;

        case "minus":
            return state - 1;
        default:
            return state

    }

}
// 使用中间件的步骤2

const store = createStore(counterRdeux, applyMiddleware(logger, thunk))
export default store; 
const mapDispatchToProps = {
  add: ()=> ( { type:"add"}),
  minus: ()=> ({ type: "minus"}),
  // return 一个函数就是异步操作
  asyncAdd: () =>dispatch=> {
    setTimeout(()=> {
      dispatch({ type:  "add"})
    },1500) 

  }
}
上一篇 下一篇

猜你喜欢

热点阅读