如何将值从我的根传奇传递到其所有叉子?

时间:2018-07-24 11:30:58

标签: redux-saga saga

在几乎所有的故事中,我都调用一个选择器,该选择器从状态中获取organizationId,如下所示:

const organizationId = yield select(getOrganizationId);

我的rootSaga设置如下:

export function* rootSaga() {
    yield all([
        fork(someSaga),
        fork(someOtherSaga),
    ]);
}

在此示例中,someSaga和someOtherSaga都将调用getOrganizationId。

我想要的是在rootSaga中进行选择,并将该值传递给所有分叉的sagas。我传递的值必须随着选择器结果的更新而更新。

我该如何实现?

1 个答案:

答案 0 :(得分:2)

您可以将其作为fork效果的第二个参数传递。示例:

export function* rootSaga() {
    const organizationId = yield select(getOrganizationId);
    yield all([
        fork(someSaga, organizationId),
        fork(someOtherSaga, organizationId),
    ]);
}

function* someSaga(organizationId) {
  // You can use organizationId here
}

有关更多详细信息,请参见API docs