2017-01-10 2 views
1

Je veux charger sur 10k enregistrements de mon API - il est tout à fait un grand JSON, mais ce n'est pas grand, je veux enregistrer dans un état Redux comme un objet immuable:performance Immutable.fromJS émet

case GET_ALL: 
    return state.merge({ 
     data: action.response 
    }) 

Le problème est qu'il est très lent, car action.response (l'objet enregistrements 10k) est converti en objet Immutable. Donc, même si j'ai une bonne capture sur le côté backend, l'ensemble de l'application est très lent à cause de ce problème. Y a-t-il un moyen de gérer cela?

+0

Pouvez-vous coller un extrait de action.response donc nous savons que la structure des données –

+0

sûrement vous n'avez pas besoin de faire tout une structure de immutable.js. Je mettrais en cache les grandes données et les parties de l'alimentation dans mon état selon les besoins. peut-être vous pouvez vivre avec Object.freeze ou tout simplement ne pas jeter l'état, mais en tout cas, la conversion de morceaux plus petits en morceaux authentiques immutable.js résoudra votre ralentissement. – dandavis

Répondre

0

Regardez seamless-immutable. Cette bibliothèque étend les objets javascript basiques au lieu de créer des objets spéciaux.

Pour votre cas d'utilisation, je peut être plus rapide