Reduce的Redux初始状态不接受新值

问题描述 投票:0回答:1

我遇到了一个奇怪的问题,其中我的一个简化器中的初始状态不接受新值。我已经能够轻松地将新值添加到此初始状态,但是由于某些原因,现在当我映射StateToProps时,新的初始状态项返回为未定义。

//REDUCER
const initialState = {
    (...cutting out a bunch of state here),
    collectionSearchResults: {
    results: {},
    loading: false,
    loaded: false,
    error: ''
  },
  collectionImage: {
    image: '',
    loading: false,
    loaded: false,
    error: '',
  },
  collectionBeingEdited: {
    collectionId: '',
    loading: false,
    complete: false,
    error: '',
    test: '',
  },
  removeReport: {
    loading: false,
  }
}
//INDEX of Component
const mapStateToProps = state => ({
  (...cutting out a bunch of state here)
  collectionBeingEdited: state.research.collectionBeingEdited,
  removeReport: state.research.removeReport,
  userInfo: state.account.myAccount.info,
})
//IN COMPONENT
console.log(this.props)
//result -> removeReport: undefined
reactjs redux redux-saga reducers
1个回答
0
投票

减速器的InitialState不是减速器。正如Martin所建议的,您需要发布实际的减速器。

我愿意打赌,在您的减速器之一的情况下,它不返回其余状态:

case 'something':
  return {    
    someKey: action.value
  }

而不是:

case 'something':
  return {
    ...state,
    someKey: action.value
  }

这就是为什么您期望的属性不存在。

© www.soinside.com 2019 - 2024. All rights reserved.