প্রকল্প সম্পর্কে

Jotai হলো React-এর জন্য একটি প্রিমিটিভ ও নমনীয় স্টেট ম্যানেজমেন্ট লাইব্রেরি, যা একটি npm প্যাকেজ হিসেবে বিতরণ করা হয়। এর কোর API ছোট (প্রায় ২ কিলোবাইট) এবং এটি একটি সাধারণ useState প্রতিস্থাপন থেকে শুরু করে এন্টারপ্রাইজ TypeScript অ্যাপ্লিকেশন পর্যন্ত স্কেল করার জন্য ডিজাইন করা হয়েছে। এর কেন্দ্রীয় ধারণা হলো অ্যাটম, যা স্টেটের একটি অংশকে উপস্থাপন করে। প্রিমিটিভ অ্যাটম একটি প্রাথমিক মান দিয়ে তৈরি করা হয়, যা স্ট্রিং, সংখ্যা, অবজেক্ট বা অ্যারে হতে পারে। কম্পোনেন্টগুলো useAtom হুকের মাধ্যমে অ্যাটম ব্যবহার করে, যা React.useState-এর মতো আচরণ করে এবং বর্তমান মানের সাথে একটি সেটার ফেরত দেয়। ডেরাইভড অ্যাটম বিদ্যমান অ্যাটম থেকে তৈরি করা যায়। একটি রিড-অনলি ডেরাইভড অ্যাটম তৈরি করা হয় প্রথম আর্গুমেন্ট হিসেবে একটি read ফাংশন পাস করে; get হেল্পার যেকোনো অ্যাটমের প্রাসঙ্গিক মান পুনরুদ্ধার করে। একাধিক অ্যাটমকে একটি একক ডেরাইভড অ্যাটমে একত্রিত করা যায়, যার মধ্যে অ্যাটমের একটি অ্যারের উপর get ম্যাপ করার মতো কার্যকরী প্যাটার্নও অন্তর্ভুক্ত। অ্যাসিঙ্ক ডেরাইভড অ্যাটম সমর্থিত, যা read ফাংশনকে async করে তৈরি করা হয় এবং লোডিং অবস্থার জন্য React Suspense-এর সাথে সংহত হয়। রাইটেবল ডেরাইভড অ্যাটম দ্বিতীয় আর্গুমেন্ট হিসেবে একটি write ফাংশন গ্রহণ করে, যেখানে get বর্তমান মান ফেরত দেয় এবং set একটি অ্যাটম আপডেট করে। read ফাংশন বাদ দিয়ে রাইট-অনলি অ্যাটম তৈরি করা সম্ভব, এবং write ফাংশনকে async করে এবং ফলাফল প্রস্তুত হলে set কল করে অ্যাসিঙ্ক অ্যাকশন বাস্তবায়ন করা যায়। প্রকল্পটি উল্লেখ করে যে এর ফ্লুইড ইন্টারফেস ইচ্ছাকৃত: অ্যাটমগুলোকে মনাড হিসেবে বর্ণনা করা হয়, যা মডুলার, বিশুদ্ধ এবং রক্ষণাবেক্ষণযোগ্য কোডের একটি প্যাটার্ন। README থেকে ডকুমেন্টেশন, একটি ওয়েবসাইট এবং একটি কোর্সের লিঙ্ক দেওয়া আছে। লাইব্রেরিটি স্ট্রিং কী এড়িয়ে চলে, যা README Recoil-এর সাথে তুলনা করে।