When does useQuery trigger a re-render?

Viewed 3363

Client side state:

type State {
  a: Int!
  b: Int!
}
extend type Query {
  state: State!
}

React Component A:

query {
  state @client {
    a
  }
}

Will the following code trigger a re-render on component A?

client.writeData({
  data: {
    state: {
      ...prevState,
      b: prevState.b + 1,
     },
  },
})
1 Answers

Using writeData to manually update the cache will change the data in the result object returned from useQuery. However, React is smart about re-renders and will only rerender if values from your query are actually being used in your JSX. Hope this helps.

Related