Saga получает доступ к отправленным действиям в node_modules - PullRequest
0 голосов
/ 27 января 2020

Я посмотрел на эту проблему , но, следуя предложению из ответа, похоже, не работает.

Я создал сагу в частной node_module который должен дождаться отправки определенного действия c перед выполнением вызова API. Когда я запускаю этот точно такой же код в моем модуле, он работает нормально; однако, когда я перемещаю этот код в node_module, отправленные действия недоступны.

Вот мой код

// node_modules/fe-utils
import { FETCH_USER_SUCCESS } from 'fe-admin';
import { takeLatest } from 'redux-saga/effects';

const { BASE_SERVICE_URL } = process.env;

export function* initSaga({
  url = BASE_SERVICE_URL,
  context = {},
  defaults = {},
}) {
  yield takeLatest([FETCH_USER_SUCCESS], function* execute() {
    yield put(fetchStuff({ url, context, defaults }));
  });
}

// sagas/index.js
import { initSaga } from 'fe-utils';

export default function* rootSagas() {
  ...
  yield fork(initSaga, { url: 'http://service-url.com' });
}

// create-store.js
import { createStore, applyMiddleware } from 'redux';
import createSagaMiddleware from 'redux-saga';
import rootReducer from './reducers';

import createRootReducer from './appState';
import rootSaga from './sagas';

export default function configureStore() {

  const store = createStore(
    createRootReducer(rootReducer),
    {},
    composeEnhancers(
      applyMiddleware(
        ...
        sagaMiddleware
      )
    )
  );

  sagaMiddleware.run(rootSaga);
  return store;
}

Я что-то не так делаю? Или действия просто не доступны в node_modules? Как я уже сказал, когда я копирую / вставляю эту сагу в файл saga/index.js, все работает отлично, но при перемещении в модуль node_module (и локальную символическую ссылку) я больше не могу получать какие-либо действия, даже когда я выполняю

takeEvery('*', function* execute(action) { 
   console.log('ACTION', action); 
});

Я все еще не получаю никаких действий в модуле.

...