我正在使用react-router-redux
(版本5.x.x),并想知道是否有任何方法可以扩展路由器reducer以在商店中存储一些额外的路由信息。在我的情况下,我想在状态树中存储位置历史记录(所有访问的路线,第一次进入站点时的参数等),如果可能的话,我想将它保留在路由器减速器中,而不是创建一个新的路由器。减速器。这可能通过api?如果是这样,有人会指出我正确的文档,因为我找不到任何东西。谢谢!
答案 0 :(得分:2)
对于这个来说有点晚了,但我唯一能想到的是:
reducers/index.js
:
import { routerReducer } from 'react-router-redux';
import extendedRouter from './extendedRouter';
const routersReducers = (state, action) => {
let currentState = routerReducer(state, action);
return extendedRouter(currentState, action);
};
export default combineReducers({
router: routersReducers
});
extendedRouter.js
:
function extendedRouter(state = {}, action) {
switch (action.type) {
case "@@router/LOCATION_CHANGE":
return {...state, anotherLocation: action.payload};
default:
return state;
}
}
export default extendedRouter;
这样,您创建了一个新的reducer,routerReducer
是您的extend reducer的输入状态。所以这是一个小小的调整,不确定它是你在寻找什么,但希望它有所帮助。