とーますメモ

Ruby on Rails / Goなどの学習メモ

【Next.js】Apollo Queryの返り値を元に、新しいデータを非同期で取得する場合

ちょっとハマったので、自分のメモ用。

以下のissueにかかれていたことを元にして解決。
github.com

上記の内容をカスタムフックにラップすればOK

const { loading, data, error } = useQuery(SOME_QUERY)
const [state, setState] = React.useState([])

React.useEffect(() => {
  // do some checking here to ensure data exist
  if (data) {
    // mutate data if you need to
    setState(data)
  }
}, [data])