Adam Wolski
Adam Wolski

Reputation: 5656

GraphQL - fetch a field conditionally

Imagine that I have a following query (I am using Apollo):

const userQuery = gql`
    query {
      user {
        id
        name
      }
    }
  `;

I want to fetch name field only if some condition is met (let's say variable shouldFetchName is true). How should I approach this and what is the best practice?

Upvotes: 46

Views: 69975

Answers (1)

Andrija Ćeranić
Andrija Ćeranić

Reputation: 1713

You can pass a variable to your query and use a Directive to fetch a field conditionally, like name @include(if: $shouldFetchName).

See the docs for Directives.

Upvotes: 64

Related Questions