关于 immutable.js 里面的 toJS 方法

  1. 问题

    当我用 immutable 里面的 toJS 方法去使一个 immutable 对象数组变为正常的数组时,发生了报错

    报错信息:TypeError: list.toJS is not a function

    让人疑惑的是,我第一次去 yarn start 的时候他是不会报错的,后面就有了,重开服务器又好了,然后做出修改热更新之后又报错QAQ

  2. 列表项目

index 代码

const newList = list.toJS();

reducer 代码

const defaultState = fromJS({
  list: [1,2,3,4,5]
});
阅读 6.9k
4 个回答

应该是你有操作改变了list,并且改变后的list不是immutable数据类型,断个点看看吧

从defaultState到list的代码呢?

新手上路,请多包涵

我重启后yarn start就好了,很奇怪。

新手上路,请多包涵

你应该是通过dispatch传递action来修改reducer的,在修改list时,应该是这样写state.set("list", fromJS(action.data)),因为action传过来的数据会自动变为js对象而不是immutable对象,需要手动转为immutable对象

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题