gpt4 book ai didi

redux - 在 Redux 中存储列表中选定项目的模式

转载 作者:行者123 更新时间:2023-12-01 22:10:49 24 4
gpt4 key购买 nike

假设我希望能够在 Todo 中选择一个任务使用 React-Redux。我应该在哪里存储这个状态?

第一种方案:给任务添加一个isActive: true属性

第二种解决方案:创建一个新的 reducer 来处理所选项目的 id。

我不喜欢这两种解决方案:第一种感觉我在其中存储了一些与任务无关的东西,第二种感觉创建一个完整的 reducer 只是为了存储一个 id 有点过头了。

还有其他选择吗?什么最好?谢谢

最佳答案

我会说这取决于您的用例。

  1. 对于需要持久保存大量 UI 状态的大型应用,使用一个特殊的 reducer 来改变与 UI 相关的商店切片非常有意义。

  2. 如果您可以同时激活多个任务,则为每个任务设置一个 isActive: boolean 属性是有效的。尽管从任务数据的角度来看它与任务无关,但它实际上是从任务的应用程序角度来看的。您的 redux store 的主要目标是成为您的应用程序的真实来源,而不仅仅是镜像您的 API 数据模型。

  3. 如果您当时只能激活/选择一个任务,您也可以有一个 isActive: id

  4. 您也可以只使用组件状态。这样做的局限性在于它不会持久存在,也不会被共享。例如,如果您想要一个保存按钮,该按钮必须位于具有选定状态的组件内。

关于redux - 在 Redux 中存储列表中选定项目的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48029362/

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