gpt4 book ai didi

angular - 我应该在每个路由器导航上重置我的 redux 存储吗?

转载 作者:行者123 更新时间:2023-12-02 10:56:34 25 4
gpt4 key购买 nike

我使用 Angular 编写应用程序,并通过 ngrx/store 使用 Redux 来存储我的应用程序状态。

一切工作正常,但现在我的应用程序变得相当大,我得到了以下观察结果:

对于几乎每个页面/资源,我都使用不同的解析器从后端获取正确显示和在此特定页面上操作所需的所有数据。

这个解析器允许我使该页面独立于应用程序的先前状态。

因此,如果应用程序已加载并启动,则可以说: https://myapp.com/resourcetype1/resourceId

解析器将加载 ID 为 resourceIdresourcetype1,以便我的页面开箱即用。

知道这一点后,我想知道在每个路由器导航启动时完全重置我的 redux 存储是否是一个好主意

我认为这有两个好处:

  • 提供更干净的 Redux 存储,没有先前执行的页面中的残留数据。
  • 在每个“页面显示”之前提供一个空存储,这有助于检测页面何时使用之前加载的页面中的数据(因此,如果使用其 urm“直接”加载,该页面可能会崩溃)。

所以问题是:

  • 您对这个 react 有何看法?
  • 您对此有何习惯?
  • 您是否会在某个时候重置您的 redux 存储?

最佳答案

这实际上取决于您的应用程序!

例如,如果您使用 Redux,因为每个页面都有一组复杂的数据需要处理,而且每个页面都完全独立于其他页面,也许您可​​能希望在每次更改之间清理它。

不过感觉有点奇怪。你说的资源是什么?您不会回到以前的资源吗?

在我的一个应用程序中,我确实有工作区。每个工作区都可以包含大量数据。用户不会经常改变他们的工作空间,当他们改变时,很可能不会再回到之前的工作空间。因此,每当用户导航到另一个工作区时,我都会清理(几乎)所有 reducer 。

但是,只要用户位于同一工作区,我就会保留大部分信息。这很棒,因为一开始当用户刚刚选择一个工作区时,它几乎什么也没有。然后,当他浏览一些详细信息时,应用程序将获取数据并将它们存储在相应的 reducer 中。

因此,当用户回来查看某些数据时,第一次在应用程序获取数据时会出现延迟,第二次+时,用户会(立即)看到存储中已有的内容。当然,它仍然尝试获取数据以确保其是最新的,但如果数据没有更改,用户就可以轻松地与其交互。

关于angular - 我应该在每个路由器导航上重置我的 redux 存储吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120080/

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