zoukankan      html  css  js  c++  java
  • redux-thunk 安装使用,以及 redux-devtools 配置

    1、redux-thunk 安装  (redux-thunk 是一个 Redux的中间件)

    npm install redux-thunk --save
    // 或者 
    yarn add redux-thunk 
    

    2、在创建 store 时,使用 redux, redux-thunk 配置 redux-devtools 

    import { createStore, applyMiddleware, compose } from 'redux';
    import thunk from 'redux-thunk';
    import reducer from './reducer';
    
    const composeEnhancers =
      window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
      window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose;
    
    const enhancer = composeEnhancers(
      applyMiddleware(thunk)
    );
    
    const store = createStore(reducer, enhancer);
    
    export default store;  

    3、在 actionCreator 创建 action ,就可以使用函数作为返回值了

    export const getTodoList = () => {
      // 这里可以接收 dispatch 参数,直接使用,相当于调用 store.dispatch 方法
      return (dispatch) => {
        axios.get('/api/todolist')
          .then((res) => {
            const data = res.data
            const action = getInitListAction(data)
            dispatch(action)
          })
          .catch((error) => {
            console.log(error)
          })
      }
    }  

    4、在 componentDidMount 钩子函数中调用 action

    componentDidMount() {
       const action = getTodoList()
       store.dispatch(action)
      } 

    5、redux 接收传值,处理改变 state

    export default (state = defaultState, action) => {
    
      if (action.type === INIT_LIST_ACTION) {
        const newState = JSON.parse(JSON.stringify(state))
        newState.list = action.data;
        return newState;
      }
      
      return state;
    }
  • 相关阅读:
    软件构架实践_阅读笔记04(-11)
    软件构架实践_阅读笔记03(7-9)
    Tsinsen-A1488 : 魔法波【高斯消元+异或方程组】
    Tsinsen-1487:分配游戏【树状数组】
    Tsinsen-1486:树【Trie树 + 点分治】
    Splay初步【bzoj1503】
    Treap初步
    [BZOJ3207] 花神的嘲讽计划Ⅰ
    可持久化Trie树初步
    可持久化线段树初步
  • 原文地址:https://www.cnblogs.com/kt520/p/14173216.html
Copyright © 2011-2022 走看看