0

想象一下,我有这个“架构”:

type User {
    id: ID!
    name: String!
}

现在,在我的一个组件(A)中,我需要用户id;在另一个组件(B)中,我需要 userid和 user name

我现在正在做的是在A Component仅请求 ID 时进行用户查询。在B Component我进行另一个用户查询请求 ID 和名称。

有一段查询总是相同的:

// Component A request
const query = gql`{
    User(id: 1) {
        id
    }
}`
// Component B request
const query = gql`{
    User(id: 1) {
        id
        name
    }
}`

User(id:1){}是相同的,建议更改的是响应参数。对此的正确方法是什么?复制查询的固定部分是否正确?

我们的问题是,如果将来 Schema 发生变化,我们将需要重构所有位置的所有查询。我们想要的是一种将其集中化并对其进行参数化的方法,以便可扩展以响应 Schema 更改。

我的一个队友制作了一个函数,它接收一个字符串并将其放在 GQL 查询中。我不喜欢这种做法。你怎么看?

4

0 回答 0