gpt4 book ai didi

reactjs - 在不断变化的情况下,为什么需要Store?

转载 作者:行者123 更新时间:2023-12-03 14:15:24 25 4
gpt4 key购买 nike

根据Flux Architecture View 使用 Action 调用更新 Store 的 Dispatcher,同时 View 监听 Store 更改事件。

我的问题是:为什么我们需要 Store?

为了列出所有用户,我的组件将调用 ListAllUsersAction,后者将依次调用我的 API 并使用 API 调用的结果更新 Store。然后 Store 发出 View 正在监听的更改事件。但商店也存储结果。为什么?为什么需要这个中间层?无论如何,我不会直接调用存储,因此这个缓存层对我来说没有任何意义,并且当我生成更多加载更多数据的事件时,最终我的所有存储都将拥有我的应用程序的所有状态,因为通量架构没有提到清理存储.

我错过了什么吗?

最佳答案

Flux 的目标是即使应用程序变得庞大且复杂,也能保持数据流易于理解,这样新人就可以快速上手,通过检查源代码弄清楚发生了什么,并充满信心他们可以在不破坏事物的情况下做出改变。模块化和关注点分离是其中的重要组成部分。存储是一种使数据模型独立于 View 层细节并为应用程序状态建立单一事实来源的方法。您可以查看任何 Store 的代码,了解它保存哪些数据、响应哪些操作以及它对其他 Store 中的数据有哪些依赖关系。这是为了开发人员的组织问题,但代价是代码稍微不那么紧凑。

In order to list all users, my Component will call ListAllUsersAction that will in turn call my API and will update the Store with the result of API call.

由于Actions的作用主要是为商店提供更新的数据,所以你也可以先调用API,然后创建一个Action来处理结果。

as I generate more events that loads more data, eventually all my stores will have all the state of my application because flux architecture says nothing about cleaning the Stores.

保存应用程序的当前状态是存储的预期功能。如果用户操作或 API 调用导致数据发生更改,操作会通知存储以及负责保持数据相应更新的存储(甚至可能重置为空)。不需要任何其他类型的清洁,因为商店“拥有所有状态”正是他们应该做的。

关于reactjs - 在不断变化的情况下,为什么需要Store?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418425/

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