Reactql - 带有 graphql 的 react-redux

Reactql - react-redux with graphql

我想开始使用 reactql 构建我的新应用程序。 我真的很喜欢 graphql 和 MERN 堆栈。但是,我最近才开始学习 redux 模式。 我的主要痛苦是 - 如何创建使用 graphql 查询获取数据的操作(我主要使用 apollo)。 我的意思是 - 我找到了 REST 模式的示例,但我不知道也找不到任何简单的 reac-redux 应用程序使用 graphql 查询获取数据的示例。

我真的很感激任何 examples/help/clues。

查看 ReactQL auth example 存储库。

它展示了您正在寻找的许多功能,包括 'posting' 具有 GraphQL 突变的数据,以及在管理用户和会话的上下文中使用 GraphQL 查询检索数据。

不要在应用程序的早期阶段混淆太多技术。也许 ReactQL 堆栈提供了太多的库?

问题不在于如何将 Redux 和 Apollo Client 结合起来进行远程 API 请求,而在于如何将它们分开以实现特定的职责。当您在客户端应用程序中使用 Apollo Client 时,因为您有一个 GraphQL 后端,所以请将 Apollo 用于您的 远程状态 。然后 Redux(或 MobX/React 的本地状态)仅用于 视图状态 (例如弹出切换、搜索字段)。如果您不使用 Apollo Client,则可以使用 Redux(带有 redux-saga 或 redux-thunk)代替远程数据。否则,请使用 react-apollo 提供的 Query 和 Mutation 组件将远程数据连接到 React 层。

  • 如果您的应用程序是纯粹的远程数据驱动并使用 GraphQL 后端,Apollo Client 就足够了。

  • 如果您的应用程序中有几个视图状态,请混入 React 的本地状态管理。

  • 如果您有多个视图状态,请使用 Redux 或 MobX 作为您的视图状态或尝试 apollo-link-state。