6

我想使用 redux-saga 从 api 加载一组数据,但是在渲染路线之前导航到新路线(例如 /posts)时,我找不到如何执行此操作的示例。

我该怎么做?

4

2 回答 2

0

您可以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);
}} />

我不知道这些方法的优缺点是什么,因为我从未使用过它们。我只是试图找到一个适合您的用例的解决方案。

于 2017-02-22T22:28:32.720 回答
-1

只需在新组件挂载时添加一个获取数据的调用。为此,您需要编写组件,以便它至少可以部分呈现不完整的数据。

于 2020-01-29T23:32:40.550 回答