22

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 つの方法の違いは何なのか、どちらが優れているのかはわかりません。誰か知っていますか?ドキュメントのどこにも説明が見つかりませんでした。

4

1 に答える 1