Мне нужно заменить подписки на саги для указанных действий.
Мой 1-й файл саги:
export function* sagaOne() {
yield [
// watchers for specifed actions
]
}
Мой другой файл саги:
export function* sagaOther() {
yield [
// watchers for other, different actions
]
}
Итак, я Я использую Provider
из react-redux
для предоставления магазина:
export function getStore() {
const sagaMiddleware = createSagaMiddleware();
const middleware: Middleware[] = [sagaMiddleware];
let enhancers = applyMiddleware(...middleware);
const env = process.env.NODE_ENV;
if (env !== 'production' && env !== 'test') {
middleware.push(logger);
enhancers = composeWithDevTools(applyMiddleware(...middleware));
}
const store = createStore<IRootState>(reducers, enhancers);
sagaMiddleware.run(sagaOne);
return store;
}
Затем в моем index.tsx:
//...
const store = getStore();
//...
<ReactRedux.Provider store={store}>
<App />
</ReactRedux.Provider>,
В index.tsx мне нужно изменить саги, и его действия наблюдатели в зависимости от некоторых условий. Я знаю, что не могу заменить весь магазин, react-redux
не предоставляет такой опции.
Возможно ли это?