中继(使用 GraphQL)和 Redux 之间的区别?
Difference between to Relay (with GraphQL) and Redux?
Relay 和 Redux 可以互为替代品吗?什么时候用最好?我们可以将 Relay、GraphQL 与 Redux 一起使用吗?
REDUX:
- Redux 是库
- Redux 是您应用程序的状态容器
- 它是存储与您的应用程序相关的所有信息的单点源。
- 您创建操作、reducer 并通过调度操作更新您的状态。
- 状态是不可变的,您不能更新它。始终返回状态的克隆版本。
- 您使用
redux-thunk
/ redux-saga
等包来调用 api。根据 API 的响应,您更新您的状态。
现在,如果您在 redux
中看到很多样板代码。
我个人觉得 redux 非常酷而且方便,但你需要注意以下几点:-
- 正在创建 actions/reducers/store。
- 调度操作和更新商店。
- 正在处理 api 个电话。
- 实现缓存。
- 维护商店。
- 维护组件中的预期道具。
中继:
- Relay 是一个 Javascript 框架。
- 为您处理商店。您不必担心更新商店
- 处理您的 API 电话(这是最好的功能)
- 商店是不可变的,克隆版本被返回。
- 使用 GraphQL(这部分有点棘手,因为您还需要了解 graphql)。经过一段时间的研究后,我意识到这是一个主要缺点。但是一旦你了解了 graphql 它真的很强大
- 适用于查询和变更
中继真的非常强大,并提供以下好处:-
- 您无需处理 API 电话。中继网络层负责处理它。您可以通过指定查询和变更来做到这一点
- 让中继真正有用的最佳特性之一是缓存实现。它大大减少了 api 调用。
Relay 真的很强大,但是当你开始的时候会有一些开销。以下是先决条件:-
- 反应
- Graphql
- ES2015JS
完成先决条件后,了解中继的实际工作原理有点棘手,不像 redux 那样容易。但是,一旦您了解了它的工作原理以及为什么将其引入画面,您就会真的感到惊讶。它确实是一个非常强大的工具。
因此,如果您的项目是中小型项目,我会说使用 redux,如果是大型中继。但是如果你正在研究 react-native,请尝试一下 relay,它真的很有趣。
此外,是的,您可以将 redux 与中继一起使用。
Relay 和 Redux 可以互为替代品吗?什么时候用最好?我们可以将 Relay、GraphQL 与 Redux 一起使用吗?
REDUX:
- Redux 是库
- Redux 是您应用程序的状态容器
- 它是存储与您的应用程序相关的所有信息的单点源。
- 您创建操作、reducer 并通过调度操作更新您的状态。
- 状态是不可变的,您不能更新它。始终返回状态的克隆版本。
- 您使用
redux-thunk
/redux-saga
等包来调用 api。根据 API 的响应,您更新您的状态。
现在,如果您在 redux
中看到很多样板代码。
我个人觉得 redux 非常酷而且方便,但你需要注意以下几点:-
- 正在创建 actions/reducers/store。
- 调度操作和更新商店。
- 正在处理 api 个电话。
- 实现缓存。
- 维护商店。
- 维护组件中的预期道具。
中继:
- Relay 是一个 Javascript 框架。
- 为您处理商店。您不必担心更新商店
- 处理您的 API 电话(这是最好的功能)
- 商店是不可变的,克隆版本被返回。
- 使用 GraphQL(这部分有点棘手,因为您还需要了解 graphql)。经过一段时间的研究后,我意识到这是一个主要缺点。但是一旦你了解了 graphql 它真的很强大
- 适用于查询和变更
中继真的非常强大,并提供以下好处:-
- 您无需处理 API 电话。中继网络层负责处理它。您可以通过指定查询和变更来做到这一点
- 让中继真正有用的最佳特性之一是缓存实现。它大大减少了 api 调用。
Relay 真的很强大,但是当你开始的时候会有一些开销。以下是先决条件:-
- 反应
- Graphql
- ES2015JS
完成先决条件后,了解中继的实际工作原理有点棘手,不像 redux 那样容易。但是,一旦您了解了它的工作原理以及为什么将其引入画面,您就会真的感到惊讶。它确实是一个非常强大的工具。
因此,如果您的项目是中小型项目,我会说使用 redux,如果是大型中继。但是如果你正在研究 react-native,请尝试一下 relay,它真的很有趣。
此外,是的,您可以将 redux 与中继一起使用。