【发布时间】:2016-09-02 02:33:59
【问题描述】:
我将 react + redux 与 Immutable 一起使用,如何使用 Immutable 删除 List 中的某些元素?
import Immutable, { List, Map, fromJS } from 'immutable';
let initialState = fromJS({
floor: [
{
floor: '1',
rooms: [
{
room: '101'
},
{
room: '102'
},
{
room: '103'
}
]
}
]
});
export default function list(state = initialState, action) {
switch (action.type) {
//remove some room
case REMOVE_ROOM:
//how can I remove some element in List with Immutable?
default:
return state;
}
};
然后,我调度了一个使用 dispatch(removeRoom('102')) 删除一些空间的操作,但是我怎样才能简单地使用 Immutable 删除 {room: 102}?
【问题讨论】:
-
我建议您保持状态不变。如果您将房间和楼层列表作为该州的单独键,那么您处理数据会容易得多。看看这个库github.com/paularmstrong/normalizr
标签: reactjs redux immutable.js