我正在尝试将redux-saga集成到我的react应用程序中。我目前正在通过在达到正确路线时使用replaceReducer动态注入来分解化简器的代码。我正在添加代码段。
reducerRegistry.setChangeListener(reducers => {
store.replaceReducer(combine(reducers));
});
我想对sagas进行同样的操作,但无法找到动态注入传奇的方法。
答案 0 :(得分:0)
我试图像下面那样实现它,它似乎可以工作。
export class SagaRegistry {
constructor() {
this._emitChange = null;
this._sagas = {};
}
getSagas() {
return { ...this._sagas };
}
register(name, saga) {
if (this._sagas[name]) {
return;
}
this._sagas = { ...this._sagas, [name]: saga };
if (this._emitChange) {
this._emitChange(saga);
}
}
setChangeListener(listener) {
this._emitChange = listener;
}
}
const sagaRegistry = new SagaRegistry();
export default sagaRegistry;
像这样运行传奇。
sagaRegistry.setChangeListener(saga => {
sagaMiddleware.run(saga);
});