2017-10-10 54 views
-1

J'essaie d'implémenter une fonctionnalité qui indiquerait si les éléments ont été lus ou non lus dans mon application. Supposons par exemple qu'un utilisateur ouvre un certain élément non lu, que l'élément soit marqué comme "lu" et qu'il reste "lu" jusqu'à ce que l'application soit désinstallée ou que les données de l'application soient effacées manuellement.React Native - Meilleure pratique pour l'état persistant

Je me demande quelle serait la meilleure pratique pour implémenter une fonctionnalité comme celle-ci. Y a-t-il un moyen de conserver cette information dans mon état, et d'une manière ou d'une autre mon état persiste même après la fermeture de l'application? Ou devrait-il être fait par AsyncStorage?

+0

Utilisez-vous Redux pour la gestion d'état? – alexdriedger

Répondre

0

Pour la persistance de vos données de magasin, essayez redux-persist - fonctionne plutôt bien & simple. Il utilise en interne AsyncStorage comme moteur de stockage.

+2

Pouvez-vous expliquer la raison d'un vote négatif? –

1

D'où viennent les articles?

La façon dont vous allez résoudre ce problème dépend de vos détails d'implémentation.

  1. Est-ce un élément similaire à un e-mail, où chaque élément est spécifique à un utilisateur? Alors le meilleur endroit pour persister l'état serait probablement dans le nuage, en tant qu'élément de l'article lui-même. {messageid: 1, userid: 'xyz', read: true}
  2. Est-ce un élément de type discussion, alors il est probablement préférable de conserver l'état sur le serveur.
  3. Est-ce une notification de masse, alors peut-être le meilleur endroit serait le stockage asynchrone.

Un autre facteur à prendre en compte, mais non mentionné, est la manière de gérer le même état de lecture/non lu sur plusieurs périphériques. A-t-il besoin d'être cohérent, ou pourrait-il être lu sur un appareil et non lu sur un autre? Indépendamment de vos détails de mise en œuvre spécifiques, j'espère que cela vous donnera assez à mâcher et vous orienter dans la bonne direction.