【问题标题】:How to update object inside fromJS with ImmutableJS?如何使用 ImmutableJS 更新 fromJS 内部的对象?
【发布时间】:2016-04-19 11:59:00
【问题描述】:

您好,我是 ImmutableJs 的新手。我想更新 ImmutableJs 数组中的特定对象。

这是我的数组

const todos = Immutable.fromJS([{
               text: 'ADDED TODO',
               id: 0,
               todo:[]
            },
            {
               text: 'DELETED TODO',
               id: 1,
               todo:[]
             },
             {
               text: 'DELETED TODO',
               id: 1,
               todo:[]
             }]);

现在我想在 todo 空数组中推送一个 id 为 1 的对象。

任何人都可以建议这样做的方法吗??

【问题讨论】:

    标签: immutable.js


    【解决方案1】:

    如果您的列表按id 排序,您可以这样做:

    const newTodos = todos.update(
        1,
        map => map.update(
            "todo",
            list => list.push("item")
        )
    );
    

    首先update 找到具有相应索引的Map 并将其应用于函数。第二个update 类似,它找到todo 的键并将其应用于另一个函数。然后,您只需将任何项目推入您的 todo 列表即可。

    如果您不确定id 是否与索引对应,请将1 替换为findIndex,如下所示。

    todos.findIndex(todo => todo.get("id") === 1),
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2019-04-10
      • 2019-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多