我正在尝试在mergeDeep Map()时过滤活动列表,但是看不到返回值的变化。活动列表()仍然相同。我可以推送或映射活动List()并在updatedChecklist中查看已更改的活动列表,但无法过滤。
import { Map, List } from "immutable"
const state = Map()
const checklist = state.merge({
research: {},
questionnarie: { activity: [{ id: "1" }], complete: true, info: {}},
})
const updatedChecklist = ["questionnarie"].reduce((cheklist, type) => {
const activity = checklist.getIn([type, "activity"])
return checklist.mergeDeep({
[type]: {
activity: activity.filter(function(i) {
console.log(i.get("id"))
return i.get("id") !== "1"
}),
complete: false,
},
})
}, checklist)
我希望获取带有活动列表的updatedChecklist,其中没有Map({id:1})。