如何在 Apollo 中获取数组作为结果?
How to fetch an array as result in Apollo?
假设我们的服务器上有这样的模式,其中包含一个查询,该查询仅根据传递的名称参数获取主题列表。
Query listTopics(
name: String!
): [Topic!]!
type Topic {
id: String!
name: String!
image: String
timeBasedFeed: String!
scoreBasedFeed: String!
aliases: [String!]!
parents: [String!]!
allAncestors: [String!]!
}
我们如何在获取数据时在客户端声明查询 returns 一个数组?
当我们处理 returns 一个对象等的查询时,我们可以做下一件事
import { gql, useQuery } from '@apollo/client';
const GET_DOG = gql`
query GetDog {
// Declare response fields
id
name
}
`;
但是查询returns一个数组时如何做到同样的呢?
我试过这样做
import { gql } from '@apollo/client';
export const LIST_TOPICS_QUERY = gql`
query listTopics($name: String!) {
[
id,
name,
image,
timeBasedFeed,
storeBasedFeed,
aliases,
parents,
allAncestors
]
}
`;
不幸的是,它不起作用。
感谢您提供任何信息。
为 returns 单个对象的字段和 returns 对象列表的字段指定选择集的方式没有区别 -- 语法是相同的,即使响应的形状会有所不同。
假设我们的服务器上有这样的模式,其中包含一个查询,该查询仅根据传递的名称参数获取主题列表。
Query listTopics(
name: String!
): [Topic!]!
type Topic {
id: String!
name: String!
image: String
timeBasedFeed: String!
scoreBasedFeed: String!
aliases: [String!]!
parents: [String!]!
allAncestors: [String!]!
}
我们如何在获取数据时在客户端声明查询 returns 一个数组?
当我们处理 returns 一个对象等的查询时,我们可以做下一件事
import { gql, useQuery } from '@apollo/client';
const GET_DOG = gql`
query GetDog {
// Declare response fields
id
name
}
`;
但是查询returns一个数组时如何做到同样的呢?
我试过这样做
import { gql } from '@apollo/client';
export const LIST_TOPICS_QUERY = gql`
query listTopics($name: String!) {
[
id,
name,
image,
timeBasedFeed,
storeBasedFeed,
aliases,
parents,
allAncestors
]
}
`;
不幸的是,它不起作用。
感谢您提供任何信息。
为 returns 单个对象的字段和 returns 对象列表的字段指定选择集的方式没有区别 -- 语法是相同的,即使响应的形状会有所不同。