我正在尝试遵循 Ben Awad 的 lireddit 教程。
我目前卡住了,因为我正在尝试加载本地主机并且收到一条错误消息:
服务器错误 TypeError: (0 , generated_graphql__WEBPACK_IMPORTED_MODULE_4 _.usePostsQuery) 不是函数或其返回值不可迭代
生成页面时发生此错误。任何控制台日志都将显示在终端窗口中。
它不喜欢如下代码:
const [{ data, fetching }] = usePostsQuery({
variables,
});
Ben 的 generate/graphql 文件有一个 export 语句如下:
export function usePostsQuery(options: Omit<Urql.UseQueryArgs<PostsQueryVariables>, 'query'> = {}) {
return Urql.useQuery<PostsQuery>({ query: PostsDocument, ...options });
};
我的没有。我们都有相同的查询定义,如下所示:
export type Query = {
__typename?: 'Query';
hello: Scalars['String'];
posts: PaginatedPosts;
post?: Maybe<Post>;
me?: Maybe<User>;
};
我所有的代码生成脚本都已成功运行(实现与 Ben 相同的代码)。我的 generate/graphql 有其他导出的查询函数,例如:
export function useMeQuery(options: Omit<Urql.UseQueryArgs<MeQueryVariables>, 'query'> = {}) {
return Urql.useQuery<MeQuery>({ query: MeDocument, ...options });
};
如果 graphql 不生成导出函数语句,是否有人对如何排除故障有任何想法?
当我尝试使用有问题的代码时,我收到一条错误消息:
TypeError: (0 , generated_graphql__WEBPACK_IMPORTED_MODULE_4 _.usePostsQuery) 不是函数或其返回值不可迭代
我不知道如何强制 graphql 制作该功能。
我在 github 上看到过这个问题,但不明白关于如何配置解决方案的评论。