首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >差别: Redux和Relay

差别: Redux和Relay
EN

Stack Overflow用户
提问于 2016-06-26 08:19:28
回答 1查看 11.2K关注 0票数 41

我已经阅读了许多基于redux和中继的文章/文档,但我仍然感到困惑,这两个库有何不同?

这两个库的优点和缺点是什么?

GraphQL在继电器中的确切作用是什么?

哪个库更适合于企业数据驱动的应用程序,如CRM/ERP?

EN

回答 1

Stack Overflow用户

发布于 2016-06-26 08:51:01

两者都是Flux实现,这是一个用于管理应用程序状态的Facebook框架。

  • Redux:一般的javascript库,它帮助处理应用程序中的状态管理。Redux不依赖于反应,可以与任何库一起使用。react-redux库用于轻松集成redux。在redux中,应用程序状态位于单个存储区中,每个组件可以访问状态,也可以通过调度操作更改状态。Redux不处理从盒子中取出的数据,尽管可以手动完成:只需创建一个操作,将数据从服务器获取到存储中。
  • Relay:由facebook创建,用于响应,并在内部使用。中继类似于redux,因为它们都使用单个存储。主要区别在于,中继只管理来自服务器的状态,对状态的所有访问都通过GraphQL查询(用于读取数据)和突变(用于更改数据)使用。中继为您缓存数据,并通过只获取已更改的数据而不获取更多的数据来为您优化数据获取。中继还支持乐观更新,即在服务器的结果到达之前更改状态。

GraphQL是一种使用声明式和可组合查询的web服务框架和协议,解决了过取和下取等问题,被认为是替代REST的有效选择。

graphql不依赖于中继,相反,中继依赖于GraphQL。Graphql可以用同样的方式在redux中使用,所有其他的数据获取都是这样做的。

正如您所看到的,中继相对于redux的主要优势是数据获取已经得到处理,并为此进行了非常优化。

另一方面,它不能管理客户端的特定状态,但很少需要它。

而且,IMO Relay很难学习和实现,但是最终结果更好,更优化,但是对于小型应用程序,我会使用redux。

票数 80
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38036543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档