2017-08-09 15 views
2

React Native(バージョン0.46)を使用して、いくつかのリソースからデータを取り出して、レンダリングし、インターネット接続が利用できないときに表示するためのデータを保存するアプリを開発しています。React Native - AsyncStorageでのアプリのパフォーマンスを最適化する方法

私の質問:私は現在の代わりに下記の「新しい」計画を適用する方が良いかどうかを確認しようとしています。 RNはJavaScript Coreを使用しているので、Node.jsのような非ブロック的な方法でコードを実行していますか?アドバイスがありがとうございます。

現在:
1.アプリケーションが読み込まれます。
2.インターネット接続を確認します(コースの非同期)。
3.接続がある場合:まず、キャッシュされたデータ(存在する場合)をレンダリングし、次に新しいデータをフェッチします。インターネットに接続されているのにキャッシュされたデータがない場合は、新しいデータを取得するだけです。
4.インターネットに接続していない場合は、新しいデータを取得してレンダリングして保存します。

新着:インターネットの可用性を待つのではなく、単にキャッシュされたデータをレンダリングするだけです。これはより良いアプローチでしょうか?またはより良いものがありますか?

+1

多くのデータがある場合はキャッシュされたデータのレンダリングに優先順位を付けます。しかし、それはあなたのアプリの多くのコンテキストに依存します。ユーザーが最後のデータを必要としている場合、またはユーザーが最後のデータを待つことができる場合。 –

答えて

1
  1. アプリにredux-persistを追加します。
  2. ホワイトリストすべての状態キーが である必要があります。
  3. ストレージが
  4. は、彼らが

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

成功している場合は、別の解決策はredux-可能性があり、ネットワーク接続 がある場合は、APIの呼び出しを行うと状態をリフレッシュする再水和されるまでの遅延は、レンダリングオフラインモジュール:

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

関連する問題