当前正在使用apollo的React新钩子
const { data, error, loading } = useQuery(GET_CUSTOMERS);
在TypeScript存储库中。尽管已激活noImplicitAny
,但上述函数调用不会产生类型错误。是否可以强迫用户为泛型函数提供类型?
答案 0 :(得分:1)
我假设noImplicitAny不会抛出,因为GET_CUSTOMERS坚持参数的类型。泛型仅用于转换。
功能签名:https://www.apollographql.com/docs/react/api/react-hooks/
function useQuery<TData = any, TVariables = OperationVariables>(query: DocumentNode, options?: QueryHookOptions<TData, TVariables>,): QueryResult<TData, TVariables> {}
如果要强制使用自己的接口,则可以包装该函数并指定泛型。
type T = AClass | MyInterface | ect;
const myUseQuery = (a: T, ...) => useQuery<T, ...>(a, ...);