【发布时间】:2016-03-07 19:21:16
【问题描述】:
嗨,我尝试开始学习在 React 中使用 ImmutableJS。但我愣住了。当我尝试在减速器中使用 List 时,出现此错误“state.push 不是函数”
这里是mi代码:
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- 这可能是问题所在.. 在调用 push 之前,您的 console.log 状态是什么输出? -
肯定是return,因为return丢失了,它得到一个
undefined,在store初始化的时候设置为state。
标签: reactjs redux immutable.js react-redux