Redux Toolkit 2.13 با پشتیبانی TypeScript 7 اومد
خلاصهٔ کاملتر
Redux Toolkit نسخهٔ 2.13 یه feature release هست که سه بخش اصلی داره: عوض شدن ابزارهای build، پشتیبانی رسمی از TypeScript 7، و یه لیست بلند از باگفیکسها تو RTK Query (یعنی بخش fetch و کش کردن داده تو RTK)، createAsyncThunk، createEntityAdapter و combineSlices.
تیم Redux کل ابزارهای ریپوهاش رو مدرن کرده: Yarn جاشو به PNPM داده، ESLint به Oxlint، Prettier به Oxfmt و tsup به TSDown. برای کاربرها فقط تغییر آخر مهمه. به گفتهٔ تیم، ساختار پکیج، تعریفهای exports و APIها دقیقاً مثل 2.12 هستن و فایلهای legacy-esm هنوز ES2017 رو هدف میگیرن. فقط محتوای bundleها یه کم فرق کرده، مثلاً فایلهای CJS کوچیکتر شدن. اگه رفتار عجیبی دیدید، تیم ازتون خواسته issue ثبت کنید. از این به بعد هم برای هر commit یه نسخهٔ پیشنمایش با pkg.pr.new منتشر میشه.
TypeScript 7 که پورت native تایپاسکریپت به زبان Go هست منتشر شده و RTK خطاهای تایپش با نسخههای 7.0 و 7.1 رو درست کرده. حداقل نسخهٔ پشتیبانیشده هم به TS 5.6 رسیده؛ نسخههای قدیمیتر شاید هنوز کار کنن ولی دیگه تست نمیشن. مستندات هم یکی شده و حالا مستندات Redux، RTK، React Redux و Reselect همه تو سایت redux.js.org هستن.
تو RTK Query، هوک useQueryState (و در نتیجه useQuery) تو هر رندر یه selector جدید به useSelector میداد. حالا memoize شده و این باگ هم رفع شده که isSuccess موقع refetch بعد از خطا، با یه رندر بیربط یهو true میشد. data هم حالا تغییرات updateQueryData رو وسط refetch نشون میده. polling هم وضعیت فعلی کش رو موقع اجرا میخونه، پس skipPollingIfUnfocused درست کار میکنه.
چندتا فیکس دیگه هم هست: یه race condition که باعث از دست رفتن invalidationها و موندن دادهٔ کهنه تو کش میشد رفع شده، تگهایی با id مثل 0 درست invalidate میشن، و lazy query hookها با Fast Refresh یا دوباره درست subscribe میکنن. createAsyncThunk دیگه abortهای قبل از اکشن pending رو نادیده نمیگیره و setAll تو createEntityAdapter با idهای تکراری آخری رو نگه میداره، مثل setMany.
نکات کلیدی:
- Redux Toolkit 2.13 رسماً از TypeScript 7.0 و 7.1 پشتیبانی میکنه
- حداقل نسخهٔ تستشدهٔ TypeScript به 5.6 رسیده
- ابزار build از tsup به TSDown عوض شده ولی API و exports تغییری نکردن
- isSuccess تو useQuery موقع refetch بعد از خطا دیگه اشتباهی true نمیشه
- تگهایی با id برابر 0 حالا درست invalidate میشن
- مستندات همهٔ کتابخونههای Redux تو redux.js.org یکی شدن




