使用没有钩子的 Apollo 客户端

时间:2021-05-25 07:21:45

标签: reactjs graphql react-hooks apollo-client

我想使用 Apollo Client 进行 GraphQL 查询/突变/...

但我不想使用钩子(例如 useQuery(...))。

无论组件生命周期如何,我都想获取数据。

我想将数据存储在我的 Mobx 存储中。

到目前为止,我发现了与 useQuery 和获取数据的耦合,我想绕过它。

类似的东西:

async function fetchTodos() {
  store.setLoading(true);

  const todos = await service.runTodosQuery();
  store.setTodos(todos);

  store.setLoading(false);
}

到目前为止我找到了 this,但我不知道如何在没有钩子的情况下使用 apollo 客户端。

1 个答案:

答案 0 :(得分:0)

在引入 hooks 之前,Apollo Library 有两种方式来发起 graphql 请求

  1. 组件 - Components
  2. Hoc 模式 - HOC pattern

但图书馆已于 2020 年 3 月放弃了对这两者的支持。所以不推荐使用以上选项。

如果你还需要看看组件的样子。这可能会帮助你 Apollo Query and Mutation Components