这就是我查询 Graphql 引擎的方式。
export GraphQLWrapper <TData, TParam = {}>({
query,
extractData,
children,
queryVariables,
skip,
}: AsyncWrapperProps<TData, TParam>) => {
return (
<ApolloConsumer>
{client => {
const loadOptions = (
searchString: string,
): Promise<SelectOptionType[]> =>
skip
? Promise.resolve([])
: client
.query<
TData,
| AsyncSelectSearchVariables
| (AsyncSelectSearchVariables & TParam)
>({
query,
variables: {
search: `${searchString || ""}%`,
...queryVariables,
},
})
.then(extractData);
return <div>{children(loadOptions)}</div>;
}}
</ApolloConsumer>
);
};
我有以下代码用于运行 Graphql 查询。我如何使用它来捕获 GraphQL 错误。谢谢你。
这就是我访问上述组件的方式:
const extractData = ({ data }: ApolloQueryResult<AccountData>) =>
data && data.vitm_account ? data.vitm_account : [];
return (
<GraphQLWrapper query={ACCOUNT_NAME_QUERY} extractData={extractData}>
{accountSelect}
</GraphQLWrapper>
);