使用ImmutableJ清空数组
Emptying an Array using ImmutableJs
我使用的是具有Redux和Redux不可变的ImmutableJS。假设我有一个初始状态,它是一个空的项目数组:
const initialState = fromJS({
items: [],
other: true,
});
我可以添加一个项目:
case ADD_ITEM:
return state
.updateIn(['items'], list => list.concat({id: 1231}))
.set('other', false);
然后,我尝试使用set
或updateIn
:清空项目数组
case EMPTY_ARRAY:
return state
.updateIn(['items'],[])
// or
.set('items', []);
当我尝试使用state.get('items').toJS()
时,我会收到一个错误:
items.get(...).toJS is not a function
清空这个嵌套的不可变数组的正确方法是什么?
case EMPTY_ARRAY:
return state
.updateIn(['items'],[]);
应该是
state.set('items', Immutable.List())
您已经为属性simple Array
赋值,该属性显然没有.toJS()
方法
此外,update
/updateIn
方法将函数作为第二个参数
相关文章:
- 当聚合管道中筛选的数组为空时,保留主文档
- 如何使select数组为空
- 如果数组为空,如何更改动态创建的数组JQplot
- 我们可以发送数据到控制器,直到我的数组变空
- 如何从数组中删除随机项目,然后将其从数组中删除,直到数组为空
- 从数组创建新元素,直到每秒数组为空
- JavaScript 过滤器方法返回过滤数组和空数组
- JavaScript 数组为空
- 交换 2 个项目在可观察数组 - 挖空
- 将 Json 数组挖空映射到可观察数组得到错误
- 拼接数组返回空的序列
- KnockoutJS:当返回的数组为空时显示消息
- Json 数组返回空值
- 如何防止向数组添加空值
- Knockout JS数组为空或可以't检索值
- 如何在不向输出数组获取空值的情况下拆分字符串
- 如果数组为空则转义以避免错误
- ajax成功函数后数组为空
- 数组为空Angular.js时不显示值
- 将数组传递给函数-函数内部的数组为空