Blog>
Snippets

Setting Up Redux Saga in a React Application

Show the initial setup steps required to integrate Redux Saga into a React application, including adding the Redux Saga middleware to the Redux store.
import { createStore, applyMiddleware } from 'redux';
import createSagaMiddleware from 'redux-saga';

// Your root reducer
import rootReducer from './reducers';

// Your root saga
import rootSaga from './sagas';
This code imports the necessary libraries and your root reducer and saga. The root reducer is where all your app's reducers combine, and the root saga is where all your sagas are combined.
const sagaMiddleware = createSagaMiddleware();
const store = createStore(
  rootReducer,
  applyMiddleware(sagaMiddleware)
);
Here, we create the Redux Saga middleware and then apply it to the Redux store using `applyMiddleware`. The Redux store is created with `createStore`, taking the root reducer and the middleware as arguments.
sagaMiddleware.run(rootSaga);
After creating the store and applying the middleware, we start the root saga with `sagaMiddleware.run()`. This tells Redux Saga to start listening for actions that Sagas might be interested in.
export default store;
Finally, the configured store with the Redux Saga middleware is exported. This store will be provided to the React application through the `<Provider>` component.