Closed7
next-urqlを使ってNext.js環境でSuspenseを試してみる
ゴール
- next-urqlでNext.js環境でSuspenseを試せるかどうかがわかること
課題点
- どのタイミングでSSRが起きているのかの理解が甘い
環境
ツール・ライブラリ | 用途 | バージョン |
---|---|---|
Next.js | フロントエンドとして利用 | 12.1.6 |
NestJS | サーバーサイドとして利用 | 8.0.0 |
GraphQL Code Generator | コード自動生成ツール | 2.6.2 |
URQL | GraphQL Clientのライブラリ | 2.2.0 |
node.js | フロント、サーバーサイドの実行環境 | v16.14.0 |
参考にしていた記事はこれ
Suspenseのfallbackが表示されない
色々調べているが、かつては@urql/exchange-suspense
を使って実装していたっぽい
しかしなぜか現在はdeprecatedになっている
明日はなんで?ってとこから
同じ人がいた
結論
現時点でurqlではSuspenseのfallbackを表示することはできない
理由としては以下
executeQuery()実行時はまずキャッシュからデータを返して裏でサーバーに問い合わせるようで、おそらくそのせいでSuspenseが効かない(ローディング状態にならない)。
こちらの記事から引用
シンプルにNext.jsでSuspenseが使えなかったが、この記事と同じ対応をして解決した
このスクラップは2022/06/09にクローズされました