Redux DevTools হল একটি powerful টুল যা Redux স্টোরের state এবং actions ট্র্যাক এবং ডিবাগ করতে ব্যবহৃত হয়। এটি ডেভেলপারদের স্টেটের পরিবর্তন এবং অ্যাকশনের কার্যকলাপ সহজেই মনিটর করার সুবিধা দেয়, যা অ্যাপ্লিকেশনের স্টেট ম্যানেজমেন্টকে ট্র্যাক এবং ডিবাগ করতে সাহায্য করে। Redux DevTools ব্রাউজারে একটি এক্সটেনশন হিসেবে কাজ করে, যা আপনার অ্যাপ্লিকেশনকে উন্নত ডিবাগিং ফিচারের মাধ্যমে সমৃদ্ধ করে।
Redux DevTools এর সুবিধা
- স্টেট মনিটরিং: Redux স্টোরের পুরো স্টেট দেখতে পারবেন এবং স্টেট পরিবর্তনের ট্র্যাক করতে পারবেন।
- অ্যাকশন লগিং: সমস্ত অ্যাকশন এবং তাদের পে-লোড দেখতে পারবেন, যাতে বুঝতে পারবেন কোন অ্যাকশন কবে এবং কেন ডিসপ্যাচ হয়েছে।
- স্টেট ট্রাভার্সাল: আপনি পূর্ববর্তী স্টেট এবং নতুন স্টেটের মধ্যে তুলনা করতে পারবেন। এর মাধ্যমে আপনি সহজেই বুঝতে পারবেন কোন অ্যাকশন স্টেট পরিবর্তন করেছে।
- Time Travel Debugging: Redux DevTools Time Travel Debugging সাপোর্ট করে, যার মাধ্যমে আপনি কোনো নির্দিষ্ট সময়ের মধ্যে ফিরে গিয়ে স্টেট দেখতে পারেন।
- Hot Reloading: কোড পরিবর্তন করার সময়, DevTools স্টেট রিসেট না করে অ্যাপ্লিকেশনকে পুনরায় লোড করতে সহায়তা করে।
Redux DevTools ইনস্টল করা
Redux DevTools ব্যবহার করার জন্য, প্রথমে আপনাকে ব্রাউজারে Redux DevTools Extension ইনস্টল করতে হবে।
- Chrome বা Firefox ব্রাউজারে Redux DevTools Extension ইনস্টল করুন:
- একবার এক্সটেনশন ইনস্টল হয়ে গেলে, আপনার ব্রাউজারে Redux DevTools প্যানেলটি পাবেন, যেখানে আপনি স্টোরের স্টেট এবং অ্যাকশনের কার্যকলাপ মনিটর করতে পারবেন।
Redux DevTools কনফিগারেশন
Redux DevTools কে Redux অ্যাপ্লিকেশনে কাজ করার জন্য কিছু কনফিগারেশন করতে হয়। Redux Toolkit ব্যবহার করলে এটি সাধারণত configureStore ফাংশনের মধ্যে স্বয়ংক্রিয়ভাবে কনফিগার হয়ে যায়, কিন্তু যদি আপনি কাস্টম Redux সেটআপ ব্যবহার করেন, তাহলে DevTools ইন্টিগ্রেট করতে আপনাকে একটু বেশি কনফিগারেশন করতে হবে।
Redux Toolkit ব্যবহার করার সময়:
যদি আপনি Redux Toolkit ব্যবহার করেন, তবে Redux DevTools আগেই অন্তর্ভুক্ত থাকে। configureStore ফাংশনটি নিজেই DevTools এর সাথে ইন্টিগ্রেটেড থাকে।
// store.js
import { configureStore } from '@reduxjs/toolkit';
import counterReducer from './counterSlice';
const store = configureStore({
reducer: {
counter: counterReducer,
},
});
export default store;
এখানে configureStore ফাংশন স্বয়ংক্রিয়ভাবে Redux DevTools সাপোর্ট করে। এর ফলে, DevTools আপনার অ্যাপ্লিকেশনের সাথে ইন্টিগ্রেটেড হয়ে যাবে।
কাস্টম Redux স্টোর কনফিগারেশন:
যদি আপনি কাস্টম Redux স্টোর কনফিগারেশন ব্যবহার করেন, তবে redux-devtools-extension প্যাকেজ ব্যবহার করে Redux DevTools কনফিগার করতে হবে।
import { createStore } from 'redux';
import { devToolsEnhancer } from 'redux-devtools-extension';
import rootReducer from './reducers';
const store = createStore(
rootReducer,
devToolsEnhancer() // Redux DevTools এক্সটেনশনের সাথে সংযোগ
);
export default store;
এখানে:
devToolsEnhancer()ফাংশনটি Redux DevTools এর সাথে স্টোরকে সংযুক্ত করে।
Redux DevTools এর মাধ্যমে State এবং Actions Monitor করা
একবার Redux DevTools কনফিগার করা হলে, এটি ব্রাউজারের ডেভেলপার টুলস প্যানেলে উপলব্ধ থাকবে। এই DevTools প্যানেলটি আপনাকে state এবং actions ট্র্যাক করতে সহায়তা করবে। এটি আপনাকে স্টেটের পরিবর্তন দেখাবে, সেইসাথে আপনি কোন অ্যাকশন ডিপ্লয় করছেন এবং তার ফলস্বরূপ স্টেট কিভাবে পরিবর্তিত হচ্ছে তা দেখতে পারবেন।
Redux DevTools UI:
Redux DevTools UI অনেকগুলো প্যানেল এবং অপশনের মাধ্যমে স্টেট এবং অ্যাকশন মনিটর করতে সাহায্য করে:
- Actions Panel:
এখানে আপনি সব ডিসপ্যাচ করা অ্যাকশন দেখতে পাবেন, যেমনINCREMENT,DECREMENTইত্যাদি। এটি আপনাকে অ্যাকশনের টাইপ এবং পে-লোড দেখাবে। - State Panel:
এখানে আপনি অ্যাপ্লিকেশনের পুরো Redux স্টোরের স্টেট দেখতে পাবেন। স্টেটের প্রতিটি প্রপার্টি এবং তার মান এখানে প্রদর্শিত হবে। - Diff Panel:
Redux DevTools আপনাকে স্টেটের পরিবর্তনগুলোর মধ্যে পার্থক্য (diff) দেখাবে। এক্সপ্যান্ড বা কোলাপ্স করে আপনি জানতে পারবেন, কীভাবে স্টেট পরিবর্তিত হয়েছে। - Time Travel Debugging:
DevTools আপনাকে টাইম ট্রাভেল ডিবাগিং এর মাধ্যমে পূর্ববর্তী স্টেটে ফিরে যাওয়ার সুযোগ দেয়। আপনি পূর্ববর্তী অ্যাকশনের ফলস্বরূপ স্টেট দেখতে পারবেন এবং বুঝতে পারবেন কোন অ্যাকশনটি সমস্যার সৃষ্টি করেছে। - Dispatch Action Manually:
আপনি DevTools থেকেই কাস্টম অ্যাকশন ডিসপ্যাচ করতে পারেন এবং দেখতে পারেন তা কিভাবে স্টেট পরিবর্তন করছে।
Redux DevTools এর মাধ্যমে Time Travel Debugging
Time Travel Debugging একটি শক্তিশালী ফিচার যা আপনাকে অ্যাপ্লিকেশনের স্টেটের বিভিন্ন পয়েন্টে ফিরে যাওয়ার সুবিধা দেয়। Redux DevTools-এর এই ফিচারের মাধ্যমে, আপনি কোন সময়ের মধ্যে যে কোন স্টেট দেখতে এবং পুনরায় অ্যাপ্লিকেশনের আচরণ বিশ্লেষণ করতে পারেন।
- Undo/Redo:
Time Travel Debugging-এ Undo এবং Redo অপশনগুলো স্টেট পরিবর্তনের পূর্ববর্তী অবস্থায় ফিরে যেতে বা আবার আগের অবস্থায় যেতে সহায়তা করে। - Jump to State:
আপনি কোনো নির্দিষ্ট সময়ের মধ্যে গিয়ে সেই সময়ের স্টেট দেখতে পারেন, যা খুবই কার্যকরী যদি অ্যাপ্লিকেশনের মধ্যে কোনো জটিল প্রবাহ থাকে।
Redux DevTools এর মাধ্যমে Performance Monitoring
Redux DevTools এ Performance Monitoring ফিচারও রয়েছে, যা আপনাকে অ্যাপ্লিকেশনের পারফরমেন্স ট্র্যাক করতে সাহায্য করে। আপনি দেখতে পারেন, কতবার স্টেট রেন্ডার হয়েছে এবং কোন অ্যাকশনটি কোন সময় কতবার স্টোরে ডিসপ্যাচ করা হয়েছে।
সারাংশ
Redux DevTools একটি অত্যন্ত শক্তিশালী টুল যা Redux স্টেট এবং অ্যাকশন মনিটর করার জন্য ব্যবহৃত হয়। এটি আপনাকে Redux স্টোরের স্টেট এবং অ্যাকশনের কার্যকলাপ সহজে ট্র্যাক করতে সাহায্য করে এবং ডিবাগিং প্রক্রিয়াকে অনেক সহজ করে তোলে। Time Travel Debugging, State Diffing, এবং Performance Monitoring এর মত ফিচারগুলো ডেভেলপারদের স্টেট পরিবর্তন এবং অ্যাপ্লিকেশনের আচরণ বোঝার জন্য অমূল্য টুল। Redux DevTools ব্যবহারের মাধ্যমে আপনি Redux স্টোরের মধ্যে ঘটে যাওয়া সমস্ত পরিবর্তন সম্পর্কে বিস্তারিত তথ্য জানতে পারবেন, যা অ্যাপ্লিকেশনের ডিবাগিং প্রক্রিয়াকে আরও দ্রুত এবং সঠিক করে তোলে।
Read more