状態データのCRUD操作にimmutability-helperを使用していますが、データを削除するのに常に$splice
を使用する必要があるかどうかを知りたい場合、またはfilter
を使用しても問題ありません(破壊的でないため)。例えば
、のは、私はオブジェクトの配列を持っているとしましょう:
:
todos = [
{id: 1, body: "eat"},
{id: 2, body: "drink"},
{id: 3, body: "sleep"},
{id: 4, body: "run"}
]
は、アイテムIDを考えると、私は2つの方法でそれを削除することができます。
index = todos.findIndex((t) => { return(t.id === id) });
newtodos = update(todos, { $splice: [[index, 1]] })
OR
B:そのindex
と使用$splice
を見つけます。 filter
使用:
newtodos = todos.filter((t) => { return(t.id === id) });
filter
は、より簡潔であるが、私はそれがこのケースで$splice
を使用する場合と比較していずれかの欠点を持っているかはわかりません。
ありがとう@novaline。 $ applyでフィルタを使用することは考えていませんでした。 –
@ J.Doe私は、ポイントはあなたのオペレータパスの参照型データの新しいコピーを返すと思う – novaline