【发布时间】:2017-06-19 01:59:21
【问题描述】:
例如,我有两个组件 - ListOfGroupsPage 和 GroupPage。
在 ListOfGroupsPage 中,我从服务器加载组列表并将其存储到 state.groups
在路线中,我为 GroupPage 提供了类似“group/:id”的映射
加载此地址后,应用程序显示 GroupPage,在这里我从 state.groups 获取组的数据(尝试通过 id 查找 state 中的组)。 一切正常。
但是如果我重新加载页面,我仍然在页面 /group/2 上,因此会显示 GroupPage。但是状态是空的,所以应用找不到组。
在 React + Redux 中加载数据的正确方法是什么?我可以这样看:
1) 加载根组件中的所有数据。交通方面的开销会很大
2) 不要依赖 store,尝试在每个组件上加载所需的数据。这是更安全的方式。但我不认为为每个组件加载相同的数据 - 这是一个很酷的想法。那么我们就不需要状态了——因为每个组件都会从服务器获取数据
3) ???可能会在每个组件中添加某种检查 - 首先尝试在存储中找到所需的数据。如果不能 - 从服务器加载。但它需要每个组件中的大量逻辑。
那么,在使用 Redux + ReactJS 的情况下,是否有从服务器获取数据的最佳解决方案?
【问题讨论】:
标签: reactjs redux react-redux react-router-redux