現在、graphql-codegen
React Hooks を生成して GraphQL サーバーにクエリを実行するために使用しています。
現在 2 つのエンドポイントがある場合、次のように分割します。
const endpoints = ApolloLink.split(
operation => operation.getContext().serviceName === 'ServiceB',
SampleLink1
SampleLink2
);
これが意味することは、ServiceB に到達するたびにその serviceName コンテキスト変数を提供する必要があるということです。
2 つの呼び出しgraphql-codegen
(独自のスキーマ/設定を持つ Service ごとに 1 つ) がある場合baseOptions
、正しいコンテキストで を自動的に追加する方法があります。
それ以外の場合は、これを続ける必要があります。
const someQueryQuery = useSomeEntityQuery({
variables: { id },
context: {
serviceName: 'ServiceB',
},
});
しかし、コンテキストにデフォルトがあり、これを実行しただけの方がいいでしょう:
const someQueryQuery = useSomeEntityQuery({
variables: { id },
});
基本的に問題は、graphql-codegen を介して生成されたコードのデフォルト コンテキストを使用できるかどうかです。