From 8e56b69441acb827fa445dbd97368a5fc449cea4 Mon Sep 17 00:00:00 2001 From: Bruno Lemos Date: Sat, 20 Oct 2018 13:22:59 -0300 Subject: [PATCH] [Redux] Setup redux-saga --- package.json | 1 + src/redux/sagas/index.ts | 5 +++++ src/redux/store.ts | 13 +++++++++++-- yarn.lock | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 src/redux/sagas/index.ts diff --git a/package.json b/package.json index daa18338..a46ab698 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "redux": "^4.0.1", "redux-devtools-extension": "^2.13.5", "redux-persist": "^5.10.0", + "redux-saga": "^0.16.2", "warna": "^0.2.4" }, "devDependencies": { diff --git a/src/redux/sagas/index.ts b/src/redux/sagas/index.ts new file mode 100644 index 00000000..f0b8cca6 --- /dev/null +++ b/src/redux/sagas/index.ts @@ -0,0 +1,5 @@ +import { all } from 'redux-saga/effects' + +export function* rootSaga() { + yield all([]) +} diff --git a/src/redux/store.ts b/src/redux/store.ts index a6e8d9a6..200957cf 100644 --- a/src/redux/store.ts +++ b/src/redux/store.ts @@ -1,16 +1,25 @@ -import { createStore } from 'redux' +import { applyMiddleware, createStore } from 'redux' import { composeWithDevTools } from 'redux-devtools-extension' import { persistReducer, persistStore } from 'redux-persist' import storage from 'redux-persist/lib/storage' +import createSagaMiddleware from 'redux-saga' import { rootReducer } from './reducers' +import { rootSaga } from './sagas' export function configureStore(key = 'root') { const persistConfig = { key, storage } const persistedReducer = persistReducer(persistConfig, rootReducer) - const store = createStore(persistedReducer, composeWithDevTools()) + const sagaMiddleware = createSagaMiddleware() + + const store = createStore( + persistedReducer, + composeWithDevTools(applyMiddleware(sagaMiddleware)), + ) const persistor = persistStore(store) + sagaMiddleware.run(rootSaga) + return { store, persistor } } diff --git a/yarn.lock b/yarn.lock index f1331263..3269051e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5960,6 +5960,11 @@ redux-persist@^5.10.0: resolved "https://registry.npmjs.org/redux-persist/-/redux-persist-5.10.0.tgz#5d8d802c5571e55924efc1c3a9b23575283be62b" integrity sha512-sSJAzNq7zka3qVHKce1hbvqf0Vf5DuTVm7dr4GtsqQVOexnrvbV47RWFiPxQ8fscnyiuWyD2O92DOxPl0tGCRg== +redux-saga@^0.16.2: + version "0.16.2" + resolved "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.2.tgz#993662e86bc945d8509ac2b8daba3a8c615cc971" + integrity sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w== + redux@^4.0.0, redux@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"