J'utilise immutability-helper pour effectuer des opérations CRUD sur des données d'état et je veux savoir si je devrais toujours utiliser $splice
pour supprimer des données ou est-ce que je peux utiliser filter
(puisqu'il n'est pas destructeur)?
Par exemple, disons que j'ai un tableau d'objets:
todos = [
{id: 1, body: "eat"},
{id: 2, body: "drink"},
{id: 3, body: "sleep"},
{id: 4, body: "run"}
]
Étant donné un code d'article, je peux l'enlever de deux façons:
a. trouver son index
et utiliser $splice
:
index = todos.findIndex((t) => { return(t.id === id) });
newtodos = update(todos, { $splice: [[index, 1]] })
OU
b. utiliser filter
:
newtodos = todos.filter((t) => { return(t.id === id) });
filter
est plus concis, mais je ne sais pas si elle a des inconvénients par rapport à l'utilisation $splice
dans ce cas.
Merci @novaline. Je n'avais pas pensé à utiliser le filtre avec $ apply. –
@ J.Doe Je pense que le point est de retourner une nouvelle copie des données de type de référence pour votre chemin d'opérateur – novaline