Reactjs Redux和继电器之间的区别

Reactjs Redux和继电器之间的区别,reactjs,redux,relayjs,Reactjs,Redux,Relayjs,我已经阅读了大量基于redux和relay的文章/文档,但我仍然不知道这两个库有什么不同? 这两个库的优点和缺点是什么? GraphQL在中继中的确切作用是什么? 哪个库更适合CRM/ERP等企业数据驱动应用程序?这两个库都是Flux实现,一个用于管理应用程序状态的Facebook框架 Redux:通用javascript库,可帮助处理应用程序中的状态管理。Redux不依赖于反应,并且 可与任何库一起使用。react redux库用于 轻松集成react与redux。在应用程序状态中 位

我已经阅读了大量基于redux和relay的文章/文档,但我仍然不知道这两个库有什么不同?
这两个库的优点和缺点是什么?
GraphQL在中继中的确切作用是什么?

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

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

  • Redux:通用javascript库,可帮助处理应用程序中的状态管理。Redux不依赖于反应,并且 可与任何库一起使用。
    react redux
    库用于 轻松集成react与redux。在应用程序状态中 位于单个存储中,每个组件都可以访问状态, 还可以通过调度操作更改状态。Redux没有 处理开箱即取的数据,尽管可以手动完成: 只需创建一个操作,将数据从服务器提取到 商店

  • 中继:由facebook为react创建,也在那里内部使用。中继与redux类似,因为它们都使用单个 商店。主要区别在于继电器只管理状态 源于服务器,对状态的所有访问都通过 GraphQL查询(用于读取数据)和突变(用于更改数据)。 Relay通过以下方式为您缓存数据并优化数据提取 仅获取已更改的数据,仅此而已。继电器还支持 乐观更新,即在服务器运行之前更改状态 结果来了

GraphQL是一个使用声明式和可组合查询的web服务框架和协议,解决了过度获取和不足获取等问题,被认为是替代REST的有效候选。
GraphQL不依赖于中继,相反,中继依赖于GraphQL。Graphql可以以相同的方式使用redux,每完成一次数据获取

正如您所看到的,relay优于redux的主要优点是数据获取已经得到了处理,并且为此进行了优化。
另一方面,它不能管理客户机的特定状态,但这是很少需要的


此外,IMO Relay更难学习和实施,但最终结果更好、更优化,但对于小型应用程序,我选择redux。

:哪个库更适合CRM/ERP?Relay等企业数据驱动应用程序,因为它为您处理数据获取和管理的棘手部分。我还要说,relay已经在我的“企业”视图中出现了,而redux打算更轻一些。不过,这些只是一些意见。@GershonPapi对于较小的应用程序,你会选择relay吗?我想你的意思是redux。为什么你说“这很少需要?”对于现代SPA应用程序,它到处都需要。@Andy当需要它时,它通常需要在单个组件树上使用(意思是多个树之间不共享的状态),在这种情况下,可以使用组件状态+道具。当我说“很少需要”时,也许我夸大了,但我设法用Relay开发了一个非常不简单的应用程序。