dev-resources.site
for different kinds of informations.
Redux Middleware সম্পর্কে বিস্তারিত আলোচনা
Published at
1/15/2025
Categories
webdev
rsmacademybd
redux
react
Author
RSM Academy BD
Redux Middleware কী?
Redux Middleware হলো একটি ফাংশন বা লেয়ার যা Redux-এর dispatch
এবং reducer
-এর মধ্যে কাজ করে। এটি অ্যাকশনগুলোকে প্রক্রিয়াজাত করার আগে বা পরে নির্দিষ্ট কাজ করতে দেয়।
Middleware-এর মূল উদ্দেশ্য:
- অ্যাসিঙ্ক্রোনাস ডেটা হ্যান্ডল করা (যেমন API কল)।
- অ্যাকশনগুলোর উপর লগিং বা অন্যান্য প্রক্রিয়া সম্পন্ন করা।
- Redux Store-এ সরাসরি পরিবর্তন আনার আগে প্রয়োজনীয় চেক বা ফিল্টারিং করা।
Middleware-এর কাজ করার ধরণ
Middleware তিনটি প্রধান স্টেপে কাজ করে:
- Redux Store থেকে
getState
ফাংশনের মাধ্যমে বর্তমান স্টেট পাওয়া। dispatch
ফাংশনের মাধ্যমে অ্যাকশন পাস করা।- এগিয়ে যাওয়ার জন্য
next()
ফাংশন কল করা।
Middleware ব্যবহার করার সুবিধা
- অ্যাসিঙ্ক্রোনাস অ্যাকশন হ্যান্ডলিং: API থেকে ডেটা ফেচ বা অন্য কোনো অ্যাসিঙ্ক্রোনাস কাজ সহজে করা যায়।
- লগিং: Redux অ্যাকশন ও স্টেট পরিবর্তনের লগ রাখা।
- কাস্টম প্রসেসিং: অ্যাকশন প্রসেস করার আগে বা পরে অতিরিক্ত কাজ যোগ করা।
- ডিবাগিং: Redux স্টেটে সমস্যা হলে ডিবাগিং সহজ হয়।
Middleware তৈরির ফর্ম্যাট
Middleware একটি ফাংশন যা এই ফর্ম্যাটে লেখা হয়:
const exampleMiddleware = store => next => action => {
console.log("Middleware Triggered:", action);
next(action); // অ্যাকশনটি পরবর্তী middleware বা reducer-এ পাঠানো
};
Redux-এ Middleware যোগ করা
Middleware যোগ করার জন্য applyMiddleware
ফাংশন ব্যবহার করা হয়।
উদাহরণ:
import { createStore, applyMiddleware } from 'redux';
// একটি সাধারণ middleware
const logger = store => next => action => {
console.log('Dispatching:', action);
let result = next(action); // অ্যাকশনটি রিডিউসারের কাছে পাঠানো
console.log('Next State:', store.getState());
return result;
};
// Reducer
const reducer = (state = {}, action) => {
switch (action.type) {
case 'INCREMENT':
return { count: (state.count || 0) + 1 };
default:
return state;
}
};
// Store তৈরি এবং middleware যোগ করা
const store = createStore(reducer, applyMiddleware(logger));
// অ্যাকশন পাঠানো
store.dispatch({ type: 'INCREMENT' });
Redux Middleware-এর জনপ্রিয় উদাহরণ
-
Redux Thunk
- অ্যাসিঙ্ক্রোনাস অ্যাকশন হ্যান্ডল করতে ব্যবহৃত হয়।
- ফাংশনকে অ্যাকশন হিসেবে ডিসপ্যাচ করার অনুমতি দেয়। ইনস্টলেশন:
npm install redux-thunk
ব্যবহার:
import thunk from 'redux-thunk';
const fetchData = () => {
return async dispatch => {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
dispatch({ type: 'FETCH_SUCCESS', payload: data });
};
};
const store = createStore(reducer, applyMiddleware(thunk));
store.dispatch(fetchData());
-
Redux Saga
- Redux অ্যাকশনগুলোর কার্যক্রম আরও সুন্দরভাবে পরিচালনা করতে ব্যবহৃত হয়।
- JavaScript Generator ব্যবহার করে অ্যাসিঙ্ক্রোনাস কার্যক্রম সম্পন্ন করে।
Middleware ব্যবহারের গুরুত্বপূর্ণ বিষয়
- Middleware-এর ক্রম (order) গুরুত্বপূর্ণ। প্রথমে যে middleware যোগ করা হয় সেটি প্রথমে কাজ করবে।
-
next(action)
কল না করলে অ্যাকশনটি স্টপ হয়ে যাবে এবং পরবর্তী middleware বা reducer-এ পৌঁছাবে না।
Articles
12 articles in total
Redux Middleware সম্পর্কে বিস্তারিত আলোচনা
currently reading
Describing the React UI
read article
JavaScript এবং React এ Debounce ব্যবহার সম্পর্কে বিস্তারিত আলোচনা
read article
Using Local Storage API With JavaScript And React JS
read article
Web Storage API Explained with Examples
read article
Web History API Explained with Examples
read article
Event Propagation - Bubbling vs Capturing Explained with Examples
read article
React Props Explained with Examples
read article
Install React Router Dom With Tailwind CSS
read article
JavaScript Event Delegation সম্পর্কে বিস্তাতিত আলোচনা
read article
JavaScript Event Delegation সম্পর্কে বিস্তারিত আলোচনা
read article
Currying in JavaScript সম্পর্কে বিস্তারিত আলোচনা
read article
Featured ones: