2015-07-28 2 views
4

J'ai un objet app-état, qui ressemble un peu comme ceci:Immuable-JS: Fusionner une liste des cartes par clé

const initialState = Immutable.fromJS({ 
    $isLoading: true, 
    currentPage: 0, 
    totalPages: 1, 
    results: [] 
}); 

Quand je rapportez de serveur (en utilisant fetch API), je veux Définissez $isLoading sur false et fusionnez currentPage et totalPages dans la réponse. C'est assez facile jusqu'à maintenant en utilisant merge. Je ne sais pas comment fusionner élégamment dans le nœud results. Ils sont Immutable.Map et doivent fusionner en fonction de la propriété _id. Existe-t-il une manière élégante de travailler avec ce morceau de code?

return state.merge({ 
    $isLoading: false, 
    currentPage: res.page, 
    totalPages: res.pages, 
    results: 'something' // Take old results, merge with res.results 
}); 

Répondre