gpt4 book ai didi

reactjs - apollo 2 是 redux 的替代品吗?

转载 作者:行者123 更新时间:2023-12-03 13:26:06 25 4
gpt4 key购买 nike

使用 Apollo 时 Redux 仍然相关吗?

我最近一直在深入研究 Apollo 2,并且看到了一篇值得注意的文章,指出他们已经删除了很多 redux 代码以支持 Apollo。

https://dev-blog.apollodata.com/reducing-our-redux-code-with-react-apollo-5091b9de9c2a

我知道 Apollo 1 在底层使用了 redux,但它在 v2 中已被弃用,并且有几个消息来源指出使用 apollo-link-state 和 Apollo Cache 作为替代品。

Apollo 开发工具非常有用,但我发现自己经常希望使用 Redux Dev 工具来查看应用程序全局状态、使用时间旅行并查看所有调用的操作。

可能我还在习惯 Apollo,但我想知道将 Redux 与 Apollo 结合使用是否还有优势?

更新我发现有人使用 Apollo 2 构建了一个简单的应用程序,这显然让我认为 Redux 在 Apollo 中完全没有必要。

https://hptechblogs.com/central-state-management-in-apollo-using-apollo-link-state/

最佳答案

React 应用程序中的状态管理是一个多维问题。它涉及协调/分析屏幕中不同组件的状态以及管理异步状态+数据流(http、持久性等)。 Apollo 一开始只解决异步状态管理问题。它将 graphql http 调用抽象为组件的内部结构。另一方面,Redux 通过管理本地同步状态开始。如今,这两种解决方案都能够提供本地和远程数据状态管理实现,并且可以被认为是可以互换的。

两种解决方案之间最大的区别在于底层的状态转换哲学。 Apollo 违背了纯状态转换的理念,需要更少的样板。另一方面,Redux 遵循更严格的方法来确保 stat 转换以纯粹的方式发生。我个人喜欢将 Redux 与 GraphQl 结合使用,因为我非常喜欢将我的状态作为一系列操作的结果。它使事物保持可预测性,同时仍然允许 GraphQl 被异步处理中间件(如 redux-saga 或类似事物)使用。

TLDR:Apollo 更简单,因为它允许库执行大量异步工作,但代价是不使用 Redux 出色的操作命令模式。

关于reactjs - apollo 2 是 redux 的替代品吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48081238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com