【发布时间】:2020-06-25 23:23:20
【问题描述】:
我正在尝试将来自 useQuery() 的重新获取传递到上下文中,以便我可以从上下文中调用重新获取。我无法找出正确的类型,所以我要么遇到类型不匹配的问题,要么 IDE 没有抱怨,但应用程序因类型不匹配而中断。当浏览器崩溃时,它会报告 refetch() 不是一个函数。
我只想将 refetch 传递给 Context 并能够调用它。任何帮助表示赞赏。
相关代码如下:
Context 道具的接口:
interface ConfirmationModalContextInterface {
...
setRefetch: (refetch: (variables?: Record<string, any>) => Promise<ApolloQueryResult<any>>) => void;
}
上下文确认模态界面:
interface ConfirmationModalProps {
...
refetch: (variables?: Record<string, any>) => Promise<ApolloQueryResult<any>> | undefined;
}
原refetch实例:
const {loading, error, data, refetch} = useQuery(queries.USER_POSTS);
上下文道具的设置:
const confirmModalContext = useContext(ConfirmationModalContext);
const {..., setRefetch} = confirmModalContext;
setRefetch(refetch);
【问题讨论】:
标签: javascript reactjs typescript graphql