Redux-saga - отправляет действие без регистрации в промежуточное программное обеспечение саги - PullRequest
0 голосов
/ 22 марта 2020

У меня есть проект, использующий 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, чтобы пропустить действия, которые не отслеживаются?

Большое спасибо

...