এই খানে দুইটি ওয়ে নিয়ে আলোচনা করবো, একটি immutable ওয়ে আরেকটি হল Mutable ওয়ে ।
১ম ঊদাহরনঃ
``addToProduct: (state, action) => {
state.products = [...state.products, action.payload]
}``
এখানে addToProduct নামে একটা ফাংশন নিয়ে এর ভিতর দুইটি প্যারামিটার নেওয়া হয়েছে state এবং action নামে । তারপর Initial state এ যে products ছিলো সেটা কল করে ...state.products স্প্রেড অপারেটর চালানো হয়েছে । যদি আগে থেকে কোন প্রডাক্ট থাকে তাহলে সে গুলোকে নিয়ে নতুন এরে দেখাও তারপর action.payload থেকে নতুন প্রডাক্ট এড করে দাও।
এই পদ্ধতি হচ্ছে immutable ওয়ে । এই পদ্ধতির অনেক গুলো ভালো দিক হচ্ছে আগের স্টেত মডিফাই করে না, খুব সহজে ডিভাগ করা যায় এবং কি কি পরিবর্তন হচ্ছে তা বুঝা যায়।
এখন ২য় উদাহরণ নিয়ে আলোচনা করবোঃ
``addToProduct: (state, action) => {
state.products.push(action.payload)
}``
এখানে আগের মতো সব কিছু নেওয়া হয়েছে শুধু state.products এর ভিতর action.payload কে পুশ করে দেওয়া হয়েছে । এটা mutated পদ্ধতি । এটা আগের এরেকে চেঞ্জ করে দেয়, এবং কি কি পরিবর্তন হয়েছে তা ট্রেক করা কঠিন হয়ে পরে।
পরিশেষে বলা যায় দুইভাবে আমরা রিডাক্সের এর মাধ্যমে এরেতে কোন কোন কিছু এড করতে পারবো । তবে ভালো প্রেটিক্স হল immutable ওয়েতে হেন্ডেল করা।
ধন্যবাদ
সেলিম আল সাজু
Top comments (0)