Mitu217
2/16/2017 - 9:50 AM

React + Redux + Redux-saga

React + Redux + Redux-saga

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

export default function configureStore(initialState) {
  const sagaMiddleware = createSagaMiddleware();
  const store = createStore(
    rootReducer,
    initialState,
    applyMiddleware(
      sagaMiddleware,
    )
  );

  sagaMiddleware.run(saga);

  return store;
}
import { takeEvery, delay } from 'redux-saga';
import { put, call } from 'redux-saga/effects';
import { increment } from './actions';

export function* incrementAsync() {
  yield call(delay, 1000);
  yield put(increment());
}

export default function* rootSaga() {
  yield* takeEvery('increment', incrementAsync);
}