redux saga des sélecteurs, comment puis-je accéder à l'état d'une saga?

Questions similaires ont été posées, mais les réponses n'ont pas été d'une grande aide pour moi.

Quelles sont les sélecteurs dans redux?

Comment obtenir quelque chose de l'état /stocker à l'intérieur d'un redux-saga de la fonction?

Je pense que j'ai une configuration différente puisque je ne peux pas semblent être en mesure d'accéder à l'état de ma saga.

J'ai essayé de faire:

const getList = store => store;
const getList = state=> state;

ces deux retour undefined.

Mon magasin ressemble à...

export default function createStoreWithMiddleware() {
    const sagaMiddleware = createSagaMiddleware();
    const loggerMiddleware = createLogger();
    const middleware = [sagaMiddleware, loggerMiddleware];
    const persistedState = localStorage.getItem('reduxState') ? JSON.parse(localStorage.getItem('reduxState')) : {};

    const store = createStore(reducer, persistedState, compose(
        applyMiddleware(...middleware)
    ));

    store.subscribe(() => {
        localStorage.setItem('reduxState', JSON.stringify(store.getState()));
    });

    sagaMiddleware.run(rootSaga);

    return store;
}

Et je veux accéder à ma liste de cette saga:

function* selectTender(action) {
    try {
        const response = yield Api.getTenderById(action.payload);
        yield put({type: 'SELECT_TENDER_SUCCEEDED', currentTender: response});
        const list = yield select(getList);
        yield put({type: 'FETCH_CHAPTERS', chaptersList: list, tenderId: response.id});
    } catch (err) {
        yield put({type: 'SELECT_TENDER_FAILED', message: err.message});
    }
}

export function* watchSelectTender(){
    yield takeEvery('SELECT_TENDER', selectTender);
}

Mais comme je l'ai dit, les deux state et store ne sont pas définis.

Alors, comment puis-je accéder à mon magasin (ou l'état) dans la saga?

InformationsquelleAutor Winter | 2017-04-18