在特定条件下产生不同的传奇副作用的正确方法是什么?

时间:2018-09-14 15:08:58

标签: javascript ecmascript-6 redux redux-saga

我有2页(路线)作为SPA的一部分,比方说第1页和第2页。 我有一个动作“ MY_ACTION”,由两个页面调度。

我需要为“ MY_ACTION”触发副作用,但只能在第2页上执行。

任何想法都可以通过redux-saga完成吗?我认为可以执行以下操作:

export function* rootSaga(){ 
    yield takeEvery(action => action.type === 'MY_ACTION' && {routeId === 'page2'}, () => console.log('MY_ACTION')); 
}

注意,{routeId ==='page2'}是伪代码。

这是对操作进行此类过滤的正确方法吗? 也许有人可以建议另一种架构方法?

1 个答案:

答案 0 :(得分:1)

我希望页面在操作对象中包含附加信息,然后让您的传奇根据该附加字段进行过滤。