【问题标题】:Types for return values from Apollo clientApollo 客户端返回值的类型
【发布时间】:2020-05-15 00:51:36
【问题描述】:
这是使用react-apollo 进行的标准查询:
const { loading, data, error } = useQuery<RocketInventoryData, RocketInventoryVars>(
GET_ROCKET_INVENTORY,
{ variables: { year: 2019 } }
);
如果我想将loading、data 或error 传递给子组件,有什么方法可以访问来自react-apollo 的类型吗?
【问题讨论】:
标签:
reactjs
typescript
graphql
react-apollo
react-apollo-hooks
【解决方案1】:
您已经为data 提供了类型,而loading 只是一个布尔值。您可以在编辑器中查看挂钩的类型定义以确定您可能需要的其他类型。
export declare function useQuery<TData = any, TVariables = OperationVariables>(query: DocumentNode, options?: QueryHookOptions<TData, TVariables>): QueryResult<TData, TVariables>;
export interface QueryResult<TData = any, TVariables = OperationVariables>
extends ObservableQueryFields<TData, TVariables> {
client: ApolloClient<any>;
data: TData | undefined;
error?: ApolloError;
loading: boolean;
networkStatus: NetworkStatus;
}