Redux 中的 ImmutableJS - reducer 出现错误 "state.push is not a function"

ImmutebleJS in Redux - reducer get error "state.push is not a function"

嗨,我尝试开始学习在 React 中使用 ImmutableJS。但是我愣住了。当我尝试在我的 reducer 中使用 List 时出现此错误 "state.push is not a function"

这是小米代码:

    import { List, Map} from 'immutable'
    import {FETCH_CONSTRAINTS, SET_AMOUNT_VALUE, SET_TERM_VALUE} from "../actions/actions";

export default function calculator(state = List(), action){
switch (action.type){
  case FETCH_CONSTRAINTS:
    return  state.push(Map({
       constraints: action.constraints}));
   default:
     state
  }
}

我不明白哪里出了问题

谢谢,我已经带错了。一个例子已经简化,是的,我想你 return 了。但是在我的代码中,我调用了其他操作,它们不使用不可变的。一整天,我的眼睛里都有它,而且我是瞎子。但也感谢你我解决了这个问题。

我注意到您的代码中存在 2 个问题:

1-初始状态应该是来自不可变列表的实例new List()

2- return switch->default

中的语句
import { List, Map} from 'immutable'
import {FETCH_CONSTRAINTS, SET_AMOUNT_VALUE, SET_TERM_VALUE} from "../actions/actions";

export default function calculator(state = new List(), action){
switch (action.type){
  case FETCH_CONSTRAINTS:
    return  state.push(Map({
       constraints: action.constraints}));
  default:
    return state;
  }
}

希望对您有所帮助。