我想使用 redux-saga 从 api 加载一组数据,但是在渲染路线之前导航到新路线(例如 /posts)时,我找不到如何执行此操作的示例。
我该怎么做?
我想使用 redux-saga 从 api 加载一组数据,但是在渲染路线之前导航到新路线(例如 /posts)时,我找不到如何执行此操作的示例。
我该怎么做?
您可以onEnter
在以下位置使用道具Route
:
<Route path='posts' onEnter={() => store.dispatch({ type: 'FETCH_POSTS' })} />
在这种情况下,您不能在插入的树的上下文中使用存储Provider
。您必须导入它并直接使用。
另一种选择是传递一个component
道具,而不是传递一个getComponent
:
<Route path='posts' getComponent={(nextState, cb) => {
store.dispatch({ type: 'FETCH_POSTS' });
cb(null, PostList);
}} />
我不知道这些方法的优缺点是什么,因为我从未使用过它们。我只是试图找到一个适合您的用例的解决方案。
只需在新组件挂载时添加一个获取数据的调用。为此,您需要编写组件,以便它至少可以部分呈现不完整的数据。