代码之家  ›  专栏  ›  技术社区  ›  Brent

如何将Apollo with Composition API加载到Vue 3中?

  •  0
  • Brent  · 技术社区  · 3 年前

    他们的文件指出:

    import { provide } from '@vue/composition-api'
    import { DefaultApolloClient } from '@vue/apollo-composable'
    
    const app = new Vue({
      setup () {
        provide(DefaultApolloClient, apolloClient)
      },
    
      render: h => h(App),
    })
    

    这行不通。我在网上找不到正确的文档,但在youtube上偶然发现了答案。我只是把这个放在这里,以防其他人搜索。

    1 回复  |  直到 3 年前
        1
  •  1
  •   Brent    3 年前

    Vue 3的正确语法:

    import { createApp, h, provide } from 'vue';
    import App from './App.vue';
    import {
      ApolloClient,
      createHttpLink,
      InMemoryCache
    } from '@apollo/client/core';
    import { DefaultApolloClient } from '@vue/apollo-composable';
    
    const link = createHttpLink({ uri: 'http://localhost:3000/graphql' });
    const cache = new InMemoryCache();
    const apolloClient = new ApolloClient({ link, cache });
    
    createApp({
      setup() {
        provide(DefaultApolloClient, apolloClient);
      },
    
      render() {
        return h(App);
      }
    }).mount('#app');