我对NGRX很陌生,我正试图把我的头绕起来。我理解目标是在不同类型的状态下拥有一个数据存储。我试图理解如何处理数据列表。
情景1
:
用户首先导航到一个列表,在这种情况下,会触发一个效果来从后端/api检索列表。成功后,列表被保存到存储中,并且UI组件通过
| async
并呈现列表。用户单击项目以查看详细信息。我们可以将所选项目的ID存储在存储中,然后简单地使用筛选机制从存储中的列表数组中检索详细数据。或者,我们可以对服务器进行另一个效果调用,以获得详细的有效负载。我假设这里的决策点是列表是否包含详细信息页面所需的所有数据?
情景2
:假设存储中的列表包含详细信息页所需的所有数据,并且用户单击列表中的项目只需将所选项目的ID保存到存储中,然后导航到详细信息页,在该页中,仅根据中的所选项目ID从列表中筛选详细信息数据。商店,当用户刷新详细页面上的浏览器URL时会发生什么?发生这种情况时,列表不再位于存储区中,所选项目的ID也不再位于存储区中。但是,所选项目的ID位于URL和路由中。您如何处理这种情况?是否重新生成列表以检索详细信息记录?
情景3
:处理一个场景的最佳方法是什么?在这个场景中,整个列表中有不同的数据子集。也许您需要查看一个“待定”的项目列表和本周创建的另一个项目列表,等等。将所有记录作为主列表下载到存储中似乎效率很低,然后简单地筛选出不同视图所需的记录。我读过一些教程,其中你在商店里有主列表,然后在商店的另一个组成不同部分的ID。这看起来很重,而且在客户机上复制了数据库。在商店中筛选列表的最佳方法是什么?
感谢您的帮助和洞察力。