javascript - 扩展 ApolloQueryResult 以定义数据键值
问题描述
我有以下查询:
const client = new ApolloClient({
uri: `${process.env.NEXT_PUBLIC_SITE_URL}/graphql`,
cache: new InMemoryCache(),
});
const data = await client.query({
query: GET_PAGE,
variables: {
slug: '/',
},
});
客户端类型已经由 Apollo 的 ApolloQueryResult 提供:
type ApolloQueryResult<T> = {
data: T;
errors?: ReadonlyArray<GraphQLError>;
error?: ApolloError;
loading: boolean;
networkStatus: NetworkStatus;
partial?: boolean;
}
我的目标是定义data
类型以便在进一步处理数据时获得更好的注释。我想我必须通过联合类型来实现这一点,但我坚持const data: ApolloQueryResult<QueryResult> = await client.query({...});
将 QueryResult 定义为:
export type QueryResult = {
data: {
page: {
content: string;
...
};
};
};
不幸的是,这似乎并没有起到作用,因为我没有得到任何过去 data.data 的类型建议。我缺少什么才能获得适当的类型?我可以进一步阅读哪些概念来巩固我对这个概念的理解?
解决方案
推荐阅读
- algorithm - Root 方法在 Quick-Union 中如何工作?
- github - 我忘了'git push'
- arrays - 满 BUFFER 容量的循环队列
- c# - 显示 RabbitMQ 消息而不使用它们
- pgadmin-4 - 在mac上首次安装PG Admin 4错误
- python - Bert 使用 Transformer 的管道和 encode_plus 函数
- python - GroupBy 一个数据框记录并使用 PySpark 显示所有列
- amazon-web-services - 通过乘以 s3 Bucket 触发的 aws sqs 的策略是什么
- c++ - 在 Windows 上使用 C++ 访问最大输入延迟
- javascript - 单击后如何将链接添加到谷歌饼图切片并将该变量发送到新页面