Ecmascript 6 无法从reducer更新redux存储

Ecmascript 6 无法从reducer更新redux存储,ecmascript-6,redux,react-redux,immutable.js,Ecmascript 6,Redux,React Redux,Immutable.js,我似乎无法从reducer更新redux存储。状态是一个记录,它在图像中被很好地打印出来 此减速器运行: const searchResultsMapRegion = (state = vepo, action) => { switch (action.type) { case 'UPDATE_SEARCH_PAGE_RESULTS_PAGE_MAP_REGION': { console.log(state.toJS()) const newState

我似乎无法从reducer更新redux存储。状态是一个记录,它在图像中被很好地打印出来

此减速器运行:

const searchResultsMapRegion = (state = vepo, action) => {
  switch (action.type) {
    case 'UPDATE_SEARCH_PAGE_RESULTS_PAGE_MAP_REGION': {
      console.log(state.toJS())
      const newState = state.set('some', 555)
      console.log(newState.toJS())
      return newState
    }
    default:
      return state
  }
}

const rootReducer = combineReducers({
  product: product,
  searchResultsMapRegion: searchResultsMapRegion
})

export const rootEpic = combineEpics(
  fetchCategoriesEpic,
  getUserPositionEpic,
  getUserLocationEpic,
  getUserLocationFulfilledEpic
)

export const store = createStore(
  rootReducer,
  vepo,
  composeWithDevTools(applyMiddleware(createEpicMiddleware(rootEpic)))
)
我还有其他的减速器作用于州的
产品
部分,它们工作正常。为什么我不能对问题中所示的状态的
部分采取行动

console.log的
状态
位于减速器顶部:

console.log的
newState
位于减速器内

console.log的
状态
一旦减速器完成运行:


重新检查案例类型。这是指正确的大小写值吗?此外,需要从createStore中删除vepo

export const store = createStore(
  rootReducer,
  vepo,
  composeWithDevTools(applyMiddleware(createEpicMiddleware(rootEpic)))
)

状态的值是多少?
state.set
做什么并返回?@FelixKling
state
是一个例子。我已经用
toJS()
函数将其记录下来,以便很好地打印出来
.set()
返回具有修改属性的记录的新副本。您使用的是内置的
组合减速机,还是用于存储的?有关详细信息,请参阅。@MichaelPeyper我现在已经解决了这个问题。我的redux存储的初始状态具有不同于输入到
CombineReducer
中的属性的属性名称。甚至不需要为
createStore()
提供初始状态吗?我一直在用错误的值设置初始状态。@MichaelPeyper我现在看到设置初始状态是可选的。案例类型是正确的。也许我误解了你的意思,但是
vepo
是整个应用程序的状态,它需要进入
createStore
,而你在回答中把它留在了里面。rootReducer将拥有所有数据,只需要传递给createStore。