1.安装
npm install --save historynpm install --save react-router-redux
2.封装
import {createStore, compose, applyMiddleware} from 'redux';import thunk from 'redux-thunk';import reducer from './reducer';import {routerMiddleware} from 'react-router-redux';let createHistory = require('history').createHashHistory;let history = createHistory(); // 初始化historylet routerWare = routerMiddleware(history);const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;const store = createStore(reducer, composeEnhancers( applyMiddleware(thunk, routerWare)));export default store;
3.使用
import {push} from 'react-router-redux';// 任意一个actionCreators.js文件// 登录export const loginSystem = (params) => async (dispatch) => { try { dispatch(changeLoading(true)); let {data} = await loginAsync(params); if (data['msgCode'] === 0) { dispatch(changeUserName(true, params['username'])); dispatch(push('/home')); // 跳转到home页面,其它都是示例代码,可忽略 } else { Toast.info(data['message'], 2); } dispatch(changeLoading(false)); } catch (error) { Toast.info(error, 2); }}