如何处理 Redux 中的列表项

How to handle list items in Redux

我的应用程序有一个列表视图和一个详细视图。

/list 拉下一堆对象的一些通用数据,丢到redux

中的一个数组中

/list/5 获取列表中一项的详细信息

/list 无论您在网站上点击什么路线,都会被调用,因此列表最终会填充

我认为当您在列表数组中的项目索引位置点击详细信息路由时,最好存储项目的所有详细信息。

问题是,如果您首先转到项目详细信息路径,则列表的检索时间比项目详细信息的检索时间长。当我尝试更新它在 redux 中的位置时,我不知道数组中的项目索引是什么。

我是不是处理错了?我应该将商品的详细信息放在商店的单独位置吗?我的想法是,如果用户两次查看某个项目的详细信息,我可以检查附加数据是否已经在列表数组索引中,因此我不需要再进行一次 api 调用。它已经存在,但如果不存在,请拨打电话并提取其他详细信息

不确定我的解释是否正确,但我一直在努力寻找使用 redux 存储内容的正确模式。

引用我在 的回答:

是的,规范化的 Redux 存储是标准推荐。有关详细信息,请参阅我的 React/Redux 链接列表的 Redux FAQ: How do I organize nested or duplicate data in my state? , Structuring Reducers - Normalizing State Shape, and the Selectors and Normalization 部分。

为了在您的 Redux 存储中操作 relational/normalized 数据,我推荐一个名为 Redux-ORM. You should absolutely use Reselect in general, and Normalizr is good for normalizing data you've received, but Redux-ORM provides a useful abstraction layer for querying and updating that normalized data once it's in the store. I've written a couple blog posts describing its use: Redux-ORM Basics and Redux-ORM Concepts and Techniques 的库。