2017-08-09 15 views
2

Ich benutze React Native (Version 0.46), um eine App zu entwickeln, die einige Daten von einigen Ressourcen holt, rendert und die Daten zur Anzeige speichert, wenn keine Internetverbindung verfügbar ist .React Native - So optimieren Sie App-Leistung mit AsyncStorage

Meine Frage: Ich versuche zu sehen, ob es besser ist, den "neuen" Plan, der unten erwähnt wird, anstelle des gegenwärtigen anzuwenden. Da RN JavaScript Core verwendet, führt es den Code in einer nicht blockierenden Weise wie Node.js aus? Beratung wird geschätzt.

Aktuell:
1. Die App wird geladen.
2. Überprüfen Sie auf Internetverbindung (asynchron natürlich natürlich).
3. Wenn eine Verbindung besteht: Zuerst gecachete Daten rendern (falls vorhanden) und dann nach neuen Daten holen. Wenn es eine Internetverbindung gibt, aber keine zwischengespeicherten Daten, holen Sie einfach neue Daten.
4. Wenn keine Internetverbindung besteht, holen Sie neue Daten, rendern und speichern Sie sie.

Neu: Anstatt auf die Internetverfügbarkeit zu warten, werde ich die zwischengespeicherten Daten einfach rendern, wenn sie verfügbar sind. Wäre das ein besserer Ansatz? oder gibt es einen besseren?

+1

Wenn Sie eine Menge Daten haben würde ich Wählen Sie zuerst das Rendering der zwischengespeicherten Daten aus. Aber das hängt sehr vom Kontext Ihrer App ab. Wenn Ihr Benutzer die letzten Daten benötigt, oder kann er auf diese warten? –

Antwort

1
  1. hinzufügen redux-persist zu der App.
  2. Whitelist alle Statusschlüssel, die persisted sein müssen.
  3. Verzögerung machen, bis die Speicher rehydratisiert
  4. die api Anrufe tätigen, wenn eine Netzwerkverbindung und aktualisieren Sie den Zustand gibt es, wenn sie

https://github.com/rt2zz/redux-persist

Eine andere Lösung erfolgreich sind die redux- sein könnte offline Modul:

https://github.com/jevakallio/redux-offline

Verwandte Themen