عن المشروع
Jotai هي مكتبة إدارة حالة بدائية ومرنة لـ React، تُوزَّع كحزمة npm. واجهتها البرمجية الأساسية صغيرة (حوالي 2 كيلوبايت) وهي مصممة للتوسع من بديل بسيط لـ useState وصولاً إلى تطبيقات TypeScript للمؤسسات.
المفهوم المحوري هو الذرة (atom)، التي تمثل قطعة من الحالة. تُنشأ الذرات البدائية بقيمة أولية، قد تكون نصاً أو رقماً أو كائناً أو مصفوفة. تستهلك المكونات الذرات عبر الخطاف useAtom، الذي يتصرف بشكل مشابه لـ React.useState ويعيد القيمة الحالية بالإضافة إلى دالة تعيين.
يمكن بناء ذرات مشتقة من ذرات موجودة. تُنشأ ذرة مشتقة للقراءة فقط بتمرير دالة قراءة كوسيط أول؛ ويسترد المساعد get القيمة السياقية لأي ذرة. يمكن دمج ذرات متعددة في ذرة مشتقة واحدة، بما في ذلك عبر أنماط وظيفية مثل تعيين get على مصفوفة من الذرات.
تُدعم الذرات المشتقة غير المتزامنة بجعل دالة القراءة غير متزامنة، مما يتكامل مع React Suspense لحالات التحميل. تقبل الذرات المشتقة القابلة للكتابة دالة كتابة كوسيط ثانٍ، حيث يعيد get القيمة الحالية ويحدّث set ذرة. الذرات القابلة للكتابة فقط ممكنة بحذف دالة القراءة، ويمكن تنفيذ الإجراءات غير المتزامنة بجعل دالة الكتابة غير متزامنة واستدعاء set عندما تكون النتيجة جاهزة.
يشير المشروع إلى أن واجهته المرنة مقصودة: تُوصف الذرات بأنها مونادات، وهو نمط لشيفرة معيارية ونقية وقابلة للصيانة. التوثيق وموقع ويب ودورة تعليمية مرتبطة من README. تتجنب المكتبة مفاتيح النصوص، وهو ما يقارنه README بـ Recoil.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.