React
コンポーネントの状態である配列から要素を削除する必要があります。つまり、不変オブジェクトです。
要素の追加は、spread構文を使用すると簡単です。
return {
...state,
locations: [...state.locations, {}]
};
削除はもう少しトリッキーです。中間オブジェクトを使用する必要があります。
var l = [...state.locations]
l.splice(index, 1)
return {
...state,
locations: l
}
それはコードをより汚くして理解しにくくします。
そこから要素を削除する新しい配列を作成する方が簡単または難しいことはありますか?
スプレッドと Array#slice の組み合わせを使用できます。
const arr = ['a', 'b', 'c', 'd', 'e'];
const indexToRemove = 2; // the 'c'
const result = [...arr.slice(0, indexToRemove), ...arr.slice(indexToRemove + 1)];
console.log(result);
別のオプションは、Array#filterです。
const arr = ['a', 'b', 'c', 'd', 'e'];
const indexToRemove = 2; // the 'c'
const result = arr.filter((_, i) => i !== indexToRemove);
console.log(result);