Skip to Content
🤖 Technology
Redux
RTK with Middleware

Raw RTK With Middleware Concept

Redux Toolkit এ configureStore দিয়ে custom middleware যোগ করা যায়। Default middlewares এর সাথে নতুন middleware concat করতে হয়।


প্রয়োজনীয় প্যাকেজ
terminal
npm install redux-logger

কোড
const { configureStore } = require("@reduxjs/toolkit"); const counterReducer = require("../../redux/counter/reducer"); const dynamicCounterSlice = require("../features/dynamicCounter/dynamicCounterSlice"); const { createLogger } = require("redux-logger"); const logger = createLogger(); const store = configureStore({ reducer: { counter: counterReducer, dynamicCounter: dynamicCounterSlice, }, middleware: (getDefaultMiddlewares) => getDefaultMiddlewares().concat(logger), }); module.exports = store;
getDefaultMiddlewares() দিয়ে RTK এর built-in middlewares (redux-thunk, DevTools) রাখতে হবে, তারপর নতুন middleware concat করতে হবে।

Middleware Configuration
// একাধিক middleware যোগ করা const store = configureStore({ reducer: { counter: counterReducer, }, middleware: (getDefaultMiddlewares) => getDefaultMiddlewares().concat(logger, customMiddleware), }); // Default middlewares disable করা const store = configureStore({ reducer: { counter: counterReducer, }, middleware: [logger], // শুধু logger, default middlewares নেই }); // Conditional middleware const store = configureStore({ reducer: { counter: counterReducer, }, middleware: (getDefaultMiddlewares) => { const middlewares = getDefaultMiddlewares(); if (process.env.NODE_ENV === 'development') { middlewares.concat(logger); } return middlewares; }, });

Default Middlewares
RTK এর Default Middlewares: - redux-thunk (async actions এর জন্য) - serializableCheck (non-serializable values check) - immutableCheck (mutation detection) - Redux DevTools Extension
getDefaultMiddlewares() ব্যবহার করলে RTK এর সব built-in features পাওয়া যায়।
Last updated on