我正在使用 ImmutableJS与 Redux和 redux-immutable .假设我有一个初始状态,它是一个空的项目数组:
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())
你已经分配给属性简单 Array
显然没有 .toJS()
方法
update
/updateIn
方法也将函数作为第二个参数。
关于javascript - 使用 ImmutableJs 清空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39320997/