Blog>
Snippets

Setting up Redux-Saga in a Redux Store

Demonstrate how to integrate Redux-Saga middleware into a Redux store, including installation and basic configuration.
// Step 1: Install necessary packages
// npm i redux redux-saga react-redux
// OR
// yarn add redux redux-saga react-redux
First, install Redux, Redux-Saga, and React-Redux using npm or Yarn. This provides the building blocks for setting up Redux and Redux-Saga in your React application.
import { createStore, applyMiddleware } from 'redux';
import createSagaMiddleware from 'redux-saga';
import { Provider } from 'react-redux';
import rootReducer from './reducers'; // Your root reducer
import rootSaga from './sagas'; // Your root saga
Import necessary functions and modules from redux, redux-saga, and react-redux packages. Also import your application's root reducer and saga.
const sagaMiddleware = createSagaMiddleware();
const store = createStore(
  rootReducer,
  applyMiddleware(sagaMiddleware)
);
Create the Redux-Saga middleware and then create the Redux store, applying the saga middleware.
sagaMiddleware.run(rootSaga);
Start the root saga. This activates Redux-Saga, watching for dispatched actions that match saga watchers.
const App = () => (
  <Provider store={store}>
    {/* Your app components here */}
  </Provider>
);
Wrap your application's root component with the <Provider> component from 'react-redux', passing the store as a prop. This allows your React app to access the Redux store.