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;
    }
  • 相关阅读:
    简单的结账功能(可用于各种结账)
    有关菜单进行“估清”的功能
    在线客服~~
    在windows下安装GIT
    GIT之二 基础篇(2)
    简单模仿javascript confirm方法的例子
    微信公众平台开发 第三篇
    微信公众平台开发 第二篇
    微信公众平台开发 第一篇
    GIT之二 基础篇(1)
  • 原文地址:https://www.cnblogs.com/kt520/p/14173216.html
Copyright © 2011-2022 走看看