作为道具传递时,graphql refetch 的类型是啥?
Posted
技术标签:
【中文标题】作为道具传递时,graphql refetch 的类型是啥?【英文标题】:What is type of graphql refetch when passing as props?作为道具传递时,graphql refetch 的类型是什么? 【发布时间】:2022-01-19 06:21:47 【问题描述】:我将 graphql refetch
作为道具传递给组件,但我不确定应该是什么类型?
const data, loading, refetch = useQuery(gqlquery,
variables: where: id: id ,
);
<myinfo
loading=loading
data=data
refetch=refetch
/>
export const myinfo= (
refetch,
loading,
data,
: myinfoProps) =>
type myinfoProps=
refetch?: any;
loading: boolean;
data:
;
我想从 refetch?: any;
中删除any
应该存在的内容而不是。
【问题讨论】:
【参考方案1】:根据文档,refetch
的类型是:
type myinfoProps=
refetch?: (options: throwOnError: boolean, cancelRefetch: boolean ) => Promise<UseQueryResult>;
loading: boolean;
data:
;
调用时,您必须检查它是否已定义,因为它是可选属性:
export const myinfo= (
refetch,
loading,
data,
: myinfoProps) =>
if(refetch)
refetch(/* parameters */);
【讨论】:
所以我在打电话给refetch();
时应该这样做
请查看更新后的答案。你传入的参数取决于你想要的配置
写了这个if (refetch)refetch(throwOnError: true,cancelRefetch: false,);
和refetch?: (options: throwOnError: boolean;cancelRefetch: boolean;) => Promise<UseQueryResult>;
UseQueryResult
从查询结果中获取的数据格式。给出`类型' throwOnError: boolean; cancelRefetch:布尔值; ' 与 type 'Partial'.`以上是关于作为道具传递时,graphql refetch 的类型是啥?的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS/Apollo/Graphql:使用 @skip 阻止 data.refetch 直到单击 onSubmit 但重新获取仍然可用
使用 graphql 将道具传递给高阶组件时出现 React-apollo Typescript 错误