我正在尝试编写一个React应用,并且正在尝试使用ConnectedRouter:
https://github.com/supasate/connected-react-router
这是React Router的Redux绑定。
我遇到以下错误:
现在我认为这可能与该问题的公认答案有关:
Redux: Unexpected key found in preloadedState argument passed to createStore
但是,与尝试传递默认值不同的是,我实际上可能希望在我的组合减速器中使用它们。
这是我的reducers / index.js中的当前代码:
export default history =>
combineReducers({
router: connectRouter(history),
search,
profile,
color,
categories,
coordinates: LocationReducer,
idprovider,
firstFavorite,
analytics,
sidebar,
messages,
total_messages,
onesignal,
tokens
});
在我的store.js中:
import createRootReducer from "./reducers/index";
我不太确定这里是正确的解决方案,因为ConnectedRouter似乎对这些值没有任何作用。
什么是正确的解决方案?
答案 0 :(得分:0)
编辑:在下面的示例中,我使用了connected-react-router v4中使用的语法,但是我的示例确实很麻烦。 v5 / v6的用法有了更新,如果您使用的是version> = 5,请尝试将我的示例迁移到其中: https://github.com/supasate/connected-react-router/blob/master/FAQ.md#how-to-migrate-from-v4-to-v5v6
您可能没有正确初始化存储。 试试这个:
reducers / index.js
export default combineReducers({
// router reducer will be added automatically by connectRouter in store.js
search,
profile,
color,
categories,
coordinates: LocationReducer,
idprovider,
firstFavorite,
analytics,
sidebar,
messages,
total_messages,
onesignal,
tokens
});
store.js
import {connectRouter, routerMiddleware} from 'connected-react-router';
import {createBrowserHistory} from 'history';
import reducers from './reducers';
const history = createBrowserHistory(history);
const store = createStore(
connectRouter(history)(reducers),
applyMiddleware(routerMiddleware(history))
);