Nuxt/Vue でサイトを構築しており、GraphQL バックエンド API を使用しています。Nuxt の Apollo モジュールを使用してこれにアクセスします。
ページコンポーネントでは、これを行うことができます (これはスマートクエリと呼ばれていると思いますが、よくわかりません):
apollo: {
pages: {
query: pagesQuery,
update(data) {
return _get(data, "pageBy", {});
}
},
}
}
しかし、Nuxt asyncData フックを使用して、次のようなクエリを実行することもできます。
asyncData(context) {
let client = context.app.apolloProvider.defaultClient;
client.query({query, variables})
.then(({ data }) => {
// do what you want with data
});
}
}
これら 2 つの方法の違いは何なのか、どちらが優れているのかはわかりません。誰か知っていますか?ドキュメントのどこにも説明が見つかりませんでした。