Jotai نسخهٔ ۳ رو منتشر کرد
خلاصهٔ کاملتر
تیم جوتای، کتابخونهٔ محبوب مدیریت state تو ریاکت، نسخهٔ ۳ رو منتشر کرده. طبق مستندات، این نسخه بیشتر یه بهروزرسانی فنی و تمیزکاریه تا یه تغییر بزرگ تو رفتار؛ API عمومی یعنی useAtom، useAtomValue و useSetAtom همون امضا و رفتار قبلی رو دارن. اگه پروژهتون رو v2 بدون warning اجرا میشه، احتمالاً رو v3 هم مشکلی پیش نمیاد.
نیازمندیهای حداقلی بالا رفته: بهجای React 17 حالا React 18 لازمه، TypeScript از 3.8 رفته رو 5.5، و Node.js هم باید حداقل نسخهٔ 22.12.0 باشه. از طرف دیگه فایلهای خروجی فقط به فرمت ESM ساخته میشن و دیگه نسخههای CJS، UMD و SystemJS ارائه نمیشن؛ باندلرهای مدرن این مشکلی نداره، ولی اگه مستقیم فایلهای داخلی پکیج رو ایمپورت میکردید، دیگه کار نمیکنه.
چند تا ابزار هم از پکیج اصلی حذف شدن: atomFamily رفته تو یه پکیج جدا به اسم jotai-family، پلاگینهای بابل هم رفتن تو jotai-babel، و آپشن setSelf تو تابع read و آپشن delay تو useAtomValue هم برداشته شدن. نویسنده گزینههای جایگزین (مثل ساخت یه هوک سفارشی با useStore) رو تو مستندات آورده تا کسی که ازشون استفاده میکرده گیر نکنه.
برای کاربرای پیشرفته هم دو تا هوک جدید اضافه شده: useAtomValueRaw که برخلاف useAtomValue هیچوقت کامپوننت رو معلق (suspend) نمیکنه، و useAtomValueRawSync که رو useSyncExternalStore ساخته شده و بهجای رندر همزمان، تضمین میده هیچ آپدیتی گم نشه. به گفتهٔ نویسنده برای مهاجرت به این نسخه لازم نیست از این دو هوک استفاده کنید؛ useAtomValue همچنان انتخاب پیشفرضه.
نکات کلیدی:
- Jotai v3 نیازمند React 18، TypeScript 5.5 و Node.js 22.12+ هست
- فقط build به فرمت ESM ارائه میشه و CJS/UMD/SystemJS حذف شدن
- ابزارهای atomFamily و loadable و پلاگینهای babel از پکیج اصلی خارج شدن
- API اصلی (useAtom, useAtomValue, useSetAtom) بدون تغییر رفتاری باقی مونده
- دو هوک جدید useAtomValueRaw و useAtomValueRawSync برای کاربردهای پیشرفته اضافه شدن




