强制用户提供通用类型
Force user to supply a generic type
目前正在使用 apollo 的 React 新钩子,
const { data, error, loading } = useQuery(GET_CUSTOMERS);
在 TypeScript 存储库中。尽管 noImplicitAny
已激活,但上述函数调用不会产生类型错误。是否可以强制用户为带有泛型的函数提供类型?
我假设 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, ...);
目前正在使用 apollo 的 React 新钩子,
const { data, error, loading } = useQuery(GET_CUSTOMERS);
在 TypeScript 存储库中。尽管 noImplicitAny
已激活,但上述函数调用不会产生类型错误。是否可以强制用户为带有泛型的函数提供类型?
我假设 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, ...);