Qual è il modo migliore/corretto per aggiornare una matrice nidificata di dati in un negozio utilizzando redux?Aggiornamento dei dati nidificati nell'archivio di ridondanza
Il mio negozio si presenta in questo modo:
{
items:{
1: {
id: 1,
key: "value",
links: [
{
id: 10001
data: "some more stuff"
},
...
]
},
...
}
}
ho un paio di azioni asincrone che aggiorna il completo items
oggetto, ma ho un altro paio di azioni che voglio aggiornare una specifica links
array.
mio riduttore attualmente appare come questo, ma non sono sicuro se questo è l'approccio corretto:
switch (action.type) {
case RESOURCE_TYPE_LINK_ADD_SUCCESS:
// TODO: check whether the following is acceptable or should we create a new one?
state.items[action.resourceTypeId].isSourceOf.push(action.resourceTypeLink);
return Object.assign({}, state, {
items: state.items,
});
}
Si noti che update() è stato dichiarato obsoleto a favore di https://github.com/kolodny/immutability-helper –
Sono curioso di sapere perché non si è scelto di utilizzare 'Object.assign()'? – HussienK
@HussienK Non 'Object.assign' esegue una copia superficiale? –