【发布时间】:2021-01-09 19:34:14
【问题描述】:
我正在为我的 Redux Store 使用 Normalizing State Shape,它看起来像这样:
entities: {
users: {
list: [], // <-- list of all my users
loading: false,
lastFetch: null,
},
}
如果有人直接在用户的详细信息页面上打开网站,我不知道该怎么办。例如:{WEBSITE_URL}/users/1。 Redux Store 是空的,我只需要请求一个实体。我应该:
-
获取整个列表,将其放入 Store 并选择一个请求的实体?
-
仅获取用户#1,将其放入Store用户列表(
entities.users.list),将lastFetch设置为空(这是因为如果有人将重定向到下一个列表,他将再次获取新列表. 显然之前的列表没有所有用户),并显示列表中的用户 #1。 -
仅获取用户 #1,将其放在 Store 中的单独位置。例如在
users的selected字段中:entities: { users: { list: [], loading: false, lastFetch: null, selected: null // <--- HERE }, }
您认为最好的解决方案是什么?我需要selected 字段吗?所有的教程和课程都没有提到这个场景,只有场景如何获取列表。
【问题讨论】:
标签: javascript reactjs redux react-redux redux-toolkit