gpt4 book ai didi

angular - 如何处理带有离线数据的ngrx/store?

转载 作者:行者123 更新时间:2023-12-04 17:35:44 25 4
gpt4 key购买 nike

我是 Redux 的新手,刚开始使用 ngrx。我无法理解商店的概念和他的目的。

假设我有书店应用程序。我可以向用户买卖书籍。

我使用 ngrx 来获取我使用此操作的书籍列表:LOAD_BOOKS,然后我使用效果从 http 加载书籍列表并将其保存回商店。

当我进入 /books 时,在加载组件之前我有守卫。在这个守卫中,我检查书单是否在商店中(如果不在,我发送 LOAD_BOOKS 操作)并在加载列表后渲染显示所有书的组件(来自商店)

下次当我再次进入 /books 时,列表在商店中。

所以我知道我不需要调用我的 http 来给我带来这个列表,因为我在商店里有这个列表。

但是,如果有人购买其中一本书会怎样?我的商店可用图书列表未更新。

我从来没有更新过,因为它已经在商店里了。

所以我的问题是我应该如何处理这种情况?什么要储存什么不储存?如果不存储数据,这家商店的目的是什么。问题是当服务器内部的数据发生变化时该怎么办?我在处理“离线”数据

最佳答案

所以在第一种情况下,它的常见问题不仅是指存储,如果服务器数据发生变化,客户端不会由于使用 http 而自动更新,因为您应该使用广播,例如 websocket。

store 的目的是改变应用程序架构,因此如果多个页面组件不相关作为 parent->child 需要相同的数据,您将它们与 store 连接,并且每次 store 数据更改时,您都会更新您的组件数据还有。因此,如果您想象如果您在页面上有许多具有不同关系的组件,那么您无法使用简单的服务重现相同的东西,那么很难将它们联系在一起,并且当数据在其中一个分发中更新时,其余部分可能会出现错误。

Store 没有为您提供使用服务器离线工作的神奇方法,当无法连接到服务器时,您只是提醒用户他无法获取数据或执行操作,就像您使用 http 服务一样。

有关更多信息,我鼓励您阅读 flux 架构,因为 redux 和 ngrx 都是基于它的。我认为它将明确存储提供的好处以及应该在哪种类型的应用程序中实现。

关于angular - 如何处理带有离线数据的ngrx/store?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56723766/

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