У меня есть проект, использующий Redux-сагу
Вот мой магазин
import rootSaga from './sagas';
import reducers from './reducers';
import createSagaMiddleware from 'redux-saga';
import { createStore, compose, applyMiddleware } from 'redux';
/** Saga Middleware */
const sagaMiddleware = createSagaMiddleware();
/** Create middlewares for redux */
let middlewares = applyMiddleware(sagaMiddleware);
const store = createStore(
reducers,
compose(middlewares)
);
/** run saga watchers */
sagaMiddleware.run(rootSaga);
export default store;
Вот моя сага
import {put, call, takeEvery, all, takeLatest} from 'redux-saga/effects';
import {getStoreData, getEditStorePage, uploadImage} from "../modules/apiHelper";
function* loadStoreInfo() {
try {
yield put({type: LOAD_STORE_START});
const data = yield getStoreData();
yield put({type: LOAD_STORE_SUCCESS, payload: {data: data.data}});
} catch {
yield put({type: LOAD_STORE_ERROR});
} finally {
yield put({type: LOAD_STORE_END});
}
}
export function* fetchStoreInfo() {
yield takeLatest(LOAD_STORE_INFO, loadStoreInfo);
}
export default function* rootSaga() {
yield all([
fetchStoreInfo()
]);
}
Все работает как Очарование, но когда я отправляю другое действие UPDATE_STORE_INFO
, оно не отправляет действие (не достигает редуктора). Я думаю, я не добавляю его в saga watcher, чтобы он не отправлялся.
Кто-нибудь знает, как настроить redux-saga, чтобы пропустить действия, которые не отслеживаются?
Большое спасибо