2016-05-10 1 views
2

私はリアクションネイティブのアプリケーションにリレーを使用しており、無効化を強制するか、アプリのライフサイクルの特定のポイントで強制的にクエリを実行する必要があります。 Relayを使用してクエリを作成してから、それを強制的に取得することができます。これにより、キャッシュが更新されます。理想的には、私はMutations APIで行われていることをしたいと思います。私は既存のデータと交差する太ったクエリを提供し、その交差点を再取得したいと思います。しかし、私はこれを行う方法を理解することはできません。私はこれを行うにしようとした場合:パターンクエリを使用してリレーキャッシュを無効にする

var query = Relay.createQuery(
    Relay.QL` 
     query Root { 
     viewer { 
      unreadNotificationCount, 
      notifications 
     } 
     } 
    `, { 

    } 

をそしてenvironment.forceFetch({ query })を適用し、私はnotificationsfirstまたはlastのいずれかの引数を含めないについて検証エラーを取得します。しかし、アプリの残りの部分で何通の通知が読み込まれているのかわからないので、最初や最後の引数を含める必要はありません。

ここに任意のアイデアはありますか?

答えて

2

残念ながら、forceFetchを使用するだけでなく、その交差点を行うための簡単な方法はありません。突然変異APIは、パターンクエリをフェッチするだけでなく、送信された実際の突然変異クエリを計算するためにローカルグラフとの交差点を実行します。

確かに個々のコンテナにforceFetchを使って日付を再取得するよう依頼することはできます。だから、もし私があなたがしていると思われる通知を取り出すコンテナがあれば、N秒ごとにforceFetchをトリガーするだけです。

関連する問題