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;
}
}
希望对您有所帮助。
嗨,我尝试开始学习在 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;
}
}
希望对您有所帮助。