我正在使用React Redux路由器开发一个项目,我正在尝试更改页面。当组件调度“推送”操作时,我会看到"@@router/LOCATION_CHANGE"
通过,但没有任何更改。
我也确实应用了routerMiddleware,
import thunk from 'redux-thunk';
import { routerMiddleware } from 'react-router-redux';
import createHistory from 'history/createBrowserHistory'
import rootReducer from '../reducers';
export const history = createHistory();
const middleware = routerMiddleware(history)
export function configureStore(initialState) {
return createStore(
rootReducer,
initialState,
applyMiddleware(thunk),
applyMiddleware(middleware)
);
}
关于我做错了什么的想法?
答案 0 :(得分:3)
applyMiddleware
需要一个中间件列表,因此您错误地使用它:
请将其更改为:
export const history = createHistory();
const middleware = routerMiddleware(history)
export function configureStore(initialState) {
return createStore(
rootReducer,
initialState,
applyMiddleware(thunk,middleware)
);
}
这也解释了为什么切换它们有效(商店收到了另一个中间件)。