2

GraphQL を使用した高速バックエンドが/graphiqlあり、手動で検索を実行すると機能します。React フロントエンドがバックエンドで検索を実行しようとしています。次のコードは、非同期でクエリを実行する必要があります。

const data = await this.props.client.query({
    query: MY_QUERY,
    variables: { initials: e.target.value }
});
console.log(data);

WhereMY_QUERYは以前に定義されており、機能し、テストされていることがわかっているクエリを表します/graphiql。React コンポーネントでこれを行うにexport default withApollo(MyComponent)clientprops.

クエリを実行するために、index.jsApollo を介して接続を定義したファイルで、次のようにします。/graphiql

//link defined to deal with errors, this was found online
const link = onError(({ graphQLErrors, networkError }) => {
    if (graphQLErrors)
        graphQLErrors.map(({ message, locations, path }) =>
        console.log(
            `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`,
        ),
        );

    if (networkError) console.log(`[Network error]: ${networkError}`);
});

//the httpLink to my GraphQL instance, BASE_URL is defined elsewhere
const httpLink = new HttpLink({
    uri: BASE_URL,
    headers: {
    },
});

//here I define the client linking the GraphQL instance, the cache, and error handling
const client = new ApolloClient({
    link: httpLink,
    cache,
    link
});

linkエラーを処理する変数を指定せずに上記のクエリを実行すると400 Bad Request、サーバーから が返されます ( ApolloError.js:37 Uncaught (in promise) Error: Network error: Response not successful: Received status code 400)。これでは詳しくわからないので、ここ StackOverflow と Apollo Web ページで、上記の出力エラー宣言を見つけました[Network error]: TypeError: forward is not a function。このエラーの意味と解決方法を教えてください。

ありがとう!

4

1 に答える 1