📜  connected-react-router 错误在状态树中找不到路由器减速器 (1)

📅  最后修改于: 2023-12-03 15:14:14.590000             🧑  作者: Mango

connected-react-router 错误在状态树中找不到路由器减速器

简介

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中。