我想开始用 reactql 构建我的新应用程序。我真的很喜欢 graphql 和 MERN 堆栈。但是,我最近开始学习 redux 模式。我的主要痛苦是 - 如何创建使用 graphql 查询获取数据的操作(我主要使用 apollo)。我的意思是 - 我找到了 REST 模式的示例,但我不知道也找不到任何简单的 reac-redux 应用程序使用 graphql 查询获取数据的示例。
我真的很感激任何例子/帮助/线索。
我想开始用 reactql 构建我的新应用程序。我真的很喜欢 graphql 和 MERN 堆栈。但是,我最近开始学习 redux 模式。我的主要痛苦是 - 如何创建使用 graphql 查询获取数据的操作(我主要使用 apollo)。我的意思是 - 我找到了 REST 模式的示例,但我不知道也找不到任何简单的 reac-redux 应用程序使用 graphql 查询获取数据的示例。
我真的很感激任何例子/帮助/线索。
查看ReactQL auth 示例repo。
它展示了您正在寻找的许多功能,包括在管理用户和会话的上下文中使用 GraphQL 突变“发布”数据,以及使用 GraphQL 查询检索数据。
不要错误地在应用程序的早期阶段混淆了太多技术。也许 ReactQL 堆栈提供了太多的库?
问题不在于如何结合 Redux 和 Apollo Client 来进行远程 API 请求,而是如何将它们分开以实现各自的职责。当您在客户端应用程序中使用 Apollo 客户端时,因为您有一个 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。