路线变化的Redux-saga预载数据

Pau*_*ing 5 react-router redux redux-saga

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

我该怎么做?

Luc*_*cas 0

您可以onEnter在以下位置使用该道具Route

<Route path='posts' onEnter={() => store.dispatch({ type: 'FETCH_POSTS' })} />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您无法在插入的树的上下文中使用存储Provider。您必须导入它并直接使用。

另一种选择是不传递componentprop,而是传递 a getComponent

<Route path='posts' getComponent={(nextState, cb) => {
  store.dispatch({ type: 'FETCH_POSTS' });
  cb(null, PostList);
}} />
Run Code Online (Sandbox Code Playgroud)

但我无法说出这些方法的优缺点,因为我从未使用过它们。我只是想找到一个适合您的用例的解决方案。