Apollo如何提供有意义的__typenames?
Apollo how to provide meanful __typenames?
我有一个 Hasura -> Apollo -> React 的设置。
Apollo 会自动将 __typename
s 添加到所有结果中。它们应该是有意义的好名字,例如 Artist 或 Book 等。
就我而言,它们都是 Query
Hasura 自己生成 grapql 模式,因此应该涵盖该部分。我应该在哪里挖?
下面是一个实现示例:
export const FETCH_FOLLOWED_ARTIST = gql`
query FetchFollowedArtist($uuid: uuid!, $artist_id: String!) {
users_performers_by_pk(user_id: $uuid, artist_id: $artist_id) {
user_id
artist_id
}
}
`;
其中 user_performers 是两个字段的简单 table
对于给定的 GraphQL 选择集,__typename
应该是 table,root 除外,默认情况下 __typename
是 query_root
查询和 mutation_root
用于突变。
例如,我有一个名为“user”的table。鉴于此查询:
query {
__typename
user {
__typename
}
}
结果是:
{
"data": {
"__typename": "query_root",
"user": [
{
"__typename": "user"
}
]
}
}
如果您将 __typename
添加到示例中:
export const FETCH_FOLLOWED_ARTIST = gql`
query FetchFollowedArtist($uuid: uuid!, $artist_id: String!) {
__typename # <- added this
users_performers_by_pk(user_id: $uuid, artist_id: $artist_id) {
__typename # <- added this
user_id
artist_id
}
}
`;
你应该看到类似的东西,绝对不是 Query
这两个值。
Where should I dig?
对于给定的 table,在“修改”下,您可以更改根字段:
但是对于查询,__typename
总是returnstable的名称。
我有一个 Hasura -> Apollo -> React 的设置。
Apollo 会自动将 __typename
s 添加到所有结果中。它们应该是有意义的好名字,例如 Artist 或 Book 等。
就我而言,它们都是 Query
Hasura 自己生成 grapql 模式,因此应该涵盖该部分。我应该在哪里挖?
下面是一个实现示例:
export const FETCH_FOLLOWED_ARTIST = gql`
query FetchFollowedArtist($uuid: uuid!, $artist_id: String!) {
users_performers_by_pk(user_id: $uuid, artist_id: $artist_id) {
user_id
artist_id
}
}
`;
其中 user_performers 是两个字段的简单 table
对于给定的 GraphQL 选择集,__typename
应该是 table,root 除外,默认情况下 __typename
是 query_root
查询和 mutation_root
用于突变。
例如,我有一个名为“user”的table。鉴于此查询:
query {
__typename
user {
__typename
}
}
结果是:
{
"data": {
"__typename": "query_root",
"user": [
{
"__typename": "user"
}
]
}
}
如果您将 __typename
添加到示例中:
export const FETCH_FOLLOWED_ARTIST = gql`
query FetchFollowedArtist($uuid: uuid!, $artist_id: String!) {
__typename # <- added this
users_performers_by_pk(user_id: $uuid, artist_id: $artist_id) {
__typename # <- added this
user_id
artist_id
}
}
`;
你应该看到类似的东西,绝对不是 Query
这两个值。
Where should I dig?
对于给定的 table,在“修改”下,您可以更改根字段:
但是对于查询,__typename
总是returnstable的名称。