第4章 モバイルアプリケーションでオフライン機能をサポートする
4.1. オフライン機能について リンクのコピーリンクがクリップボードにコピーされました!
モバイルアプリケーションはオフラインで実行でき、ユーザーは @aerogear/voyager モジュールを使用してミューテーションをクエリーおよび作成できます。
すべてのクエリーはキャッシュに対して実行され、ミューテーションストア (またはオフラインストア) はオフラインミューテーションをサポートします。
クライアントが長期間オフラインになると、ミューテーションストアは競合解決戦略を使用してサーバーとローカル更新をネゴシエートします。
クライアントが再びオンラインになると、ミューテーションがサーバーにレプリケートされます。
開発者はリスナーを接続して、サーバーに適用された更新または失敗した更新に関する通知を受け取り、適切なアクションを実行できます。
ミューテーションとローカルキャッシュ
デフォルトでは、クエリーとミューテーションの結果がキャッシュされます。
ミューテーションはクエリー結果を変更する可能性があります。必ず refetchQueries を呼び出すか、mutate メソッドのオプションを update して、ローカルキャッシュが最新の状態に保たれるようにしてください。
@aerogear/voyager-client モジュールは、「キャッシュ更新ヘルパーの使用」 で説明するように、必要なコードの量を減らすためのキャッシュヘルパー機能も提供します。
mutate と使用可能なオプションの詳細は、Apollo’s document about mutations を参照してください。