Hai*_*ude 2 javascript arrays immutable.js redux
我使用ImmutableJS与终极版和终极版,不可改变.假设我有一个初始状态,它是一个空数组:
const initialState = fromJS({
items: [],
other: true,
});
Run Code Online (Sandbox Code Playgroud)
我可以添加一个项目:
case ADD_ITEM:
return state
.updateIn(['items'], list => list.concat({id: 1231}))
.set('other', false);
Run Code Online (Sandbox Code Playgroud)
之后我尝试使用set或清空项目数组updateIn:
case EMPTY_ARRAY:
return state
.updateIn(['items'],[])
// or
.set('items', []);
Run Code Online (Sandbox Code Playgroud)
当我尝试使用时,state.get('items').toJS()我收到错误:
items.get(...).toJS is not a function
Run Code Online (Sandbox Code Playgroud)
清空这个嵌套的不可变数组的正确方法是什么?
case EMPTY_ARRAY:
return state
.updateIn(['items'],[]);
Run Code Online (Sandbox Code Playgroud)
应该
state.set('items', Immutable.List())
Run Code Online (Sandbox Code Playgroud)
你已经分配了属性简单Array,显然没有.toJS()方法
另外update/ updateInmethods将函数作为第二个参数.
| 归档时间: |
|
| 查看次数: |
1064 次 |
| 最近记录: |