gpt4 book ai didi

javascript - react-router-redux 破坏了我的应用程序状态

转载 作者:行者123 更新时间:2023-11-30 16:17:14 27 4
gpt4 key购买 nike

我尝试在我的应用程序中设置 react-router-redux,如图所示 here ,但它打破了我的状态。

这是我的商店设置:

import { createStore, applyMiddleware } from 'redux'
import { combineReducers } from 'redux'
import thunk from 'redux-thunk'
import { syncHistory, routeReducer } from 'react-router-redux'
import rootReducer from '../reducers'
import Immutable, {Map} from 'immutable'
[Other imports]

const middleware = [X,Y]

const reducer = combineReducers(Object.assign({}, rootReducer, {
routing: routeReducer
}));

export default function configureStore(initialState, history) {

const reduxRouterMiddleware = syncHistory(history);
middleware.push(reduxRouterMiddleware);

const createStoreWithMiddleware = applyMiddleware(...middleware)(createStore);

const store = createStoreWithMiddleware(reducer, initialState);

return store

}

这是我的 reducers/index.js :

import { combineReducers } from 'redux'
import A from './A'
import B from './B'
import C from './C'
...

const rootReducer = combineReducers({
A,
B,
C,
...
})

export default rootReducer

当我在我的应用程序 store.getState() 中使用 console.log 时,我得到:只有一个 routing.location 树。

only routing.location

如果我在创建商店时使用“rootReducer”而不是“reducer”,我会得到我的正常状态树(A、B、C ...)

no routing.location

当然我不再得到我感兴趣的 routing.location 部分......

我做错了什么?

谢谢大家!

最佳答案

我认为这是因为你在自己的reducer上调用了combineReducer,然后又在routing reducer中进行了merge。我只是从您自己的 reducer 中导出一个对象,然后执行一次 combineReducer 调用,您在其中 Object.assign 路由 reducer。

关于javascript - react-router-redux 破坏了我的应用程序状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35309564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com