Dato uno stato come questo:Come rimuovere un oggetto da una matrice in Immutable?
state = {
things: [
{ id: 'a1', name: 'thing 1' },
{ id: 'a2', name: 'thing 2' },
],
};
Come si crea un nuovo stato in cui viene rimosso ID "a1"? E 'abbastanza facile da spingere nuovi elementi:
return state.set(state.get('things').push(newThing));
Ma io non riesco a capire come cercare e rimuovere un oggetto dalla sua proprietà id
. Ho provato questo:
return state.set('tracks',
state.get('tracks').delete(
state.get('tracks').findIndex(x => x.get('id') === 'a2')
)
)
Ma sembra disordinato, più esso funziona solo se l'articolo è trovato, perché se findIndex
rendimenti -1
, che è un valore valido per delete
.
'state.update ('cose', le cose => le cose. filter (cosa => cosa.get ('id')! == 'a2')); ' – zerkms