Skip to Content

React Redux

React অ্যাপে Redux ব্যবহার করার জন্য react-redux প্যাকেজ লাগবে। এটা React কম্পোনেন্ট আর Redux store-এর মধ্যে ব্রিজ হিসেবে কাজ করে।

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

৭টি ধাপ

📌 ধাপ-1. Action Identifier — আগের মতোই

📌 ধাপ-2. Action Creator — আগের মতোই

📌 ধাপ-3. Initial State — আগের মতোই

📌 ধাপ-4. Reducer — আগের মতোই

📌 ধাপ-5. Store (React এর জন্য)

import { createStore } from "redux"; const store = createStore(RD_counter); // subscribe() getState() এগুলোর প্রয়োজন নেই। // এখানে কিন্তু dispatch() নেই। dispatch() কে কম্পোনেট থেকে কল করতে হবে। // সেই কম্পোনেন্ট অবশ্যই // action dispatch করার জন্য useDispatch() এবং // state কে ধরার/সিলেক্ট করা জন্য useSelector() লাগবে।

📌 ধাপ-6. Provider Component

import { Provider } from "react-redux"; export function Providers({ children }) { return <Provider store={store}>{children}</Provider>; }

📌 ধাপ-7. App Wrapping

import { Providers } from "@/redux/providers"; // ধাপ-7 <Providers> <App/> </Providers>

Useage Component
Counter.js
import { decrement, increment } from "@/redux/counter/actions"; import { useDispatch, useSelector } from "react-redux"; function Counter() { const count = useSelector((state) => state.value); const dispatch = useDispatch(); const incrementHandler = (value) => { dispatch(increment(value)); }; const decrementHandler = (value) => { dispatch(decrement(value)); }; return ( <div className="p-4 h-auto flex flex-col items-center justify-center space-y-5 bg-white rounded shadow"> <div className="text-2xl font-semibold">{count}</div> <div className="flex space-x-3"> <button className="bg-indigo-400 text-white px-3 py-2 rounded shadow" onClick={() => incrementHandler(5)} > Increment </button> <button className="bg-red-400 text-white px-3 py-2 rounded shadow" onClick={() => decrementHandler(2)} > Decrement </button> </div> </div> ); } export default Counter;

Redux Data Flow

Redux Data Flow Diagram
Last updated on