इस प्रोजेक्ट के बारे में

Jotai React के लिए एक प्रिमिटिव और लचीली स्टेट मैनेजमेंट लाइब्रेरी है, जो npm पैकेज के रूप में वितरित की जाती है। इसका कोर API छोटा (लगभग 2kb) है और इसे सरल useState रिप्लेसमेंट से लेकर एंटरप्राइज़ TypeScript अनुप्रयोगों तक स्केल करने के लिए डिज़ाइन किया गया है। केंद्रीय अवधारणा atom है, जो स्टेट के एक टुकड़े को दर्शाता है। प्रिमिटिव atoms एक प्रारंभिक मान के साथ बनाए जाते हैं, जो string, number, object या array हो सकता है। कंपोनेंट्स useAtom हुक के माध्यम से atoms का उपभोग करते हैं, जो React.useState के समान व्यवहार करता है और वर्तमान मान तथा एक setter लौटाता है। Derived atoms मौजूदा atoms से बनाए जा सकते हैं। एक read-only derived atom पहले तर्क के रूप में read फ़ंक्शन पास करके बनाया जाता है; get हेल्पर किसी भी atom का प्रासंगिक मान प्राप्त करता है। कई atoms को एक ही derived atom में संयोजित किया जा सकता है, जिसमें atoms की array पर get को map करने जैसे फंक्शनल पैटर्न भी शामिल हैं। Async derived atoms का समर्थन read फ़ंक्शन को async बनाकर किया जाता है, जो लोडिंग स्टेट्स के लिए React Suspense के साथ एकीकृत होता है। Writable derived atoms दूसरे तर्क के रूप में write फ़ंक्शन स्वीकार करते हैं, जहाँ get वर्तमान मान लौटाता है और set किसी atom को अपडेट करता है। read फ़ंक्शन को छोड़कर write-only atoms संभव हैं, और async actions को write फ़ंक्शन को async बनाकर तथा परिणाम तैयार होने पर set कॉल करके लागू किया जा सकता है। प्रोजेक्ट बताता है कि इसका fluid interface जानबूझकर है: atoms को monads के रूप में वर्णित किया गया है, जो मॉड्यूलर, शुद्ध और रखरखाव योग्य कोड का एक पैटर्न है। README से डॉक्यूमेंटेशन, एक वेबसाइट और एक कोर्स लिंक किए गए हैं। लाइब्रेरी string keys से बचती है, जिसकी तुलना README में Recoil से की गई है।