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

Last updated on