প্রকল্প সম্পর্কে
Zustand হলো React অ্যাপ্লিকেশনগুলোর জন্য একটি হালকা স্টেট ম্যানেজমেন্ট সমাধান। এটি একটি হুক-ভিত্তিক API ব্যবহার করে, যা Redux-এর মতো লাইব্রেরিগুলোর সাথে সাধারণত যুক্ত বয়লারপ্লেট এড়িয়ে চলে।
মূল ধারণা হলো create ফাংশন ব্যবহার করে একটি স্টোর তৈরি করা, যা একটি কাস্টম React hook ফেরত দেয়। State-তে প্রিমিটিভস, অবজেক্ট বা ফাংশন থাকতে পারে, এবং আপডেট set ফাংশনের মাধ্যমে অবিকৃতভাবে (immutably) করতে হয়। কম্পোনেন্টগুলো স্টোরের নির্দিষ্ট টুকরো (slices) নির্বাচন করে state ব্যবহার করে, শুধুমাত্র তখনই পুনর্দৃশ্যমান যখন সেই নির্বাচিত মানগুলো পরিবর্তিত হয় — যা strick equalitas পরীক্ষার মাধ্যমে নিয়ন্ত্রিত হয়।
প্রধান বৈশিষ্ট্যগুলো হলো:
- অ্যাপ্লিকেশনের চারপাশে কোনো provider wrapper এর প্রয়োজন নেই
- persist স্টোরেজ, immer দিয়ে mutable-like আপডেট, এবং devtools ডিবাগিং-এর মতো মিডলওয়্যারের জন্য বিল্ট-ইন সমর্থন
- zustand/vanilla এর মাধ্যমে غير-React ব্যবহারের জন্য ভ্যানিলা স্টোর মোড
- subscribe ফাংশন দিয়ে রিয়াক্টিভ না এমন state অ্যাক্সেস ও শ্রোতা সংযোগ
- useShallow helper একাধিক state slice নির্বাচনের সময় অপ্রয়োজনীয় পুনর্দৃশ্য বন্ধ রাখে
- fine-grained নিয়ন্ত্রণের জন্য কাস্টম equality ফাংশন প্রদান করা যায়
লাইব্রেরিটি zombie child পরিস্থিতিতে stale props, React concurrency ইস্যু, এবং মিশ্র রেন্ডারারগুলোর মধ্যে context loss-এর মতো সাধারণ React state ম্যানেজমেন্ট সমস্যার সমাধান করে। এটি unopinionated হিসেবে ডিজাইন করা হয়েছে, তবে slices-এর মাধ্যমে কোড সংগঠনের কাজকর্মী প্যাটার্ন প্রদান করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.