📅  最后修改于: 2023-12-03 15:14:14.590000             🧑  作者: Mango
connected-react-router是一种在React应用程序中使用react-router和Redux两个库的组合,它允许将路由状态存储在Redux Store中。这个库可以让React应用程序提供更好的路由逻辑,但是有时可能会在使用此库时遇到一些错误,其中之一是错误在状态树中找不到路由器减速器。
当使用connected-react-router库时,需要添加路由器减速器(reducer)到Redux Store中,以便存储路由状态。在初始化Store时,redux combineReducers将所有的reducers合并成一个reducer,因此如果忘记将路由器减速器添加到rootReducer中,路由状态将无法被存储,从而出现在状态树中找不到路由器减速器的错误。
要解决这个错误,需要检查是否已经在rootReducer中添加了路由器减速器。以下是一个示例代码,它演示了如何将路由器减速器添加到rootReducer中:
import { combineReducers } from 'redux';
import { connectRouter } from 'connected-react-router';
import myReducer from './myReducer';
export default (history) => combineReducers({
router: connectRouter(history),
myReducer,
});
在这个示例中,我们使用connectRouter将路由器减速器添加到rootReducer中。
connected-react-router库是React应用程序中很好的路由解决方案,但是在使用时可能会出现一些错误,例如在状态树中找不到路由器减速器的错误。为了避免这种错误,需要将路由器减速器添加到rootReducer中。