問題タブ [apollo-link]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3031 参照

reactjs - Apollo と React で認証失敗をキャッチした後に正しくリダイレ​​クトする方法

を使用する反応アプリを作成しており、認証エラーをグローバルにキャッチするためapollo-clientに使用しています。ブラウザの履歴操作とアプリの状態の管理にapollo-link-error使用しています。createBrowserHistoryredux

認証エラーで、ユーザーをページにリダイレクトしたい/login。ただし、これを行うhistory.push('/login')と forceRefresh:false は URL を変更しますが、実際にはアプリ内を移動しません。

使用するforceRefresh:trueと機能しますが、アプリが完全に再起動されるので、避けたいと思います。

`

redux-router問題は、ナビゲートにメソッドを使用していないことだと思います(したがって、URLが変更されてもアプリは同じままです)

Q:コンポーネント内にいないときにredux history、使用するのと同様のオブジェクトを取得するにはどうすればよいですか? withRouter()この状況を処理する適切な方法は何ですか?

0 投票する
0 に答える
153 参照

graphql - データが null でない場合、ゲートウェイとして実行されている Apollo Server がリモート エラーを隠している

apollo-server-expressゲートウェイ アプリケーションとして実行しています。makeRemoteExecutableSchemaapollo-link-http. _

通常、すべての呼び出しが機能します。エラーが応答の一部であり、データが null の場合も機能します。ただし、データにデータのみが含まれ、エラーにはエラーが含まれる場合。データは渡されますが、エラーは空です

例 A 「実際の例」:

クエリ

クエリ応答

例 B「非表示のエラー」:

クエリ

リモートサービスからの応答 (httpLink)

response.errorsメソッドにはエラーも含まれていgraphQLErrorsますonError

応答

graphql仕様によると、エラーオブジェクトが応答の一部である場合、エラーオブジェクトが非表示にならないと予想していました

https://graphql.github.io/graphql-spec/June2018/#sec-Errors

応答のデータ エントリが存在する場合 (値が null の場合を含む)、応答のエラー エントリには、実行中に発生したエラーが含まれている可能性があります。実行中にエラーが発生した場合は、それらのエラーが含まれている必要があります。

0 投票する
1 に答える
979 参照

apollo - 再試行成功時の Apollo-link @client ミューテーション

ネットワーク エラーによる再試行時に、React アプリで通知をレンダリングしています。接続が再確立された場合 (再試行が成功した場合) に、そのような通知をクリアしたい

apollo-link-retryカスタム コールバックを使用して、attempts再試行ループの開始時とタイムアウト時にキャッシュを変更しました。これは機能しますが、再試行が成功するとコールバックが呼び出されないため、再試行が成功すると通知が画面に表示されたままになり、キャッシュから通知をクリアする方法がありません。

apollo-link-error同様の問題を使用して、同様のロジックを実装しようとしました。リンクはエラーが発生した場合にのみ呼び出され、再試行の成功はエラーではありません。

apollo-link-retry「ほぼ」機能する私の構成は次のとおりです。

これを実現するには、カスタム リンクを実装する必要があるのでしょうか。apollo-link-retry素敵な再試行ロジックを活用し、さらにロジックの進行に合わせて状態をキャッシュに出力する方法を見つけたいと思っています。