构建 Apollo React 应用指南
1. 为何选择 Apollo
Apollo Client 是解决 React 应用状态管理问题的一种新方法。与其他如 Redux 等 Flux 方法不同,它降低了数据获取代码的复杂性。Apollo Client 的两个关键特性是声明式数据获取和显式突变副作用处理,这些都通过 GraphQL 语法实现。要使用 Apollo Client 构建应用,需要一个 GraphQL 后端来提供数据。
2. 构建 Apollo React 应用
我们将通过一个 React Native 的 Todo 应用示例,来详细介绍如何使用 Apollo Client 和 GraphQL。
2.1 Todo 与 Apollo Client
原本计划扩展 Neckbeard News 应用,但最终选择了 React 的 Todo 示例作为起点。该示例健壮且简洁,适合用于展示 Apollo Client 在 React Native 中的应用。此应用的关键在于使用与 Web UI 相同的 GraphQL 后端,这对于想要同时构建 Web 和原生版本应用的 React 开发者来说非常方便,因为可以共享相同的 schema。
2.2 GraphQL 架构
GraphQL 架构是 GraphQL 后端服务器和前端 Apollo 组件之间的“词汇表”。GraphQL 类型系统允许架构描述可用的数据,以及在查询请求到来时如何将数据组合在一起。以下是 Todo 应用中使用的一些类型:
- Todo 类型 :