انتشار React Router v8: تغییرات کم اما تعیین‌کننده

React Router v8 در تاریخ 17 ژوئن 2026 منتشر شد. هدف تیم توسعه حفظ سازگاری تا حد ممکن و به‌روزرسانی بنیاد کتابخانه با تمرکز روی تجربهٔ مدرن بسته‌بندی و اجرا است. مهم‌ترین تغییرات شامل بیلدهای صرفاً ESM، فعال‌سازی میان‌افزار به‌عنوان رفتار پیش‌فرض و ارتقای چند فلگ آزمایشی به رفتار استاندارد است.

پیش‌نیازها و پایان پشتیبانی نسخه‌های قدیمی

حداقل نسخه‌های مورد نیاز در v8 به‌روزرسانی شده‌اند: Node 22.22.0+، React 19.2.7+ و Vite 7+. تیم توسعه اعلام کرده React Router v6 و Remix v2 به وضعیت End of Life رسیده‌اند و دیگر به‌روزرسانی‌های امنیتی دریافت نخواهند کرد؛ بنابراین برنامه‌ریزی برای مهاجرت ضروری است.

چرا بیلد صرفاً ESM؟

انتشار فقط به‌صورت ESM با هدف همگام‌سازی با جریان کنونی ابزارهای ساخت (مثل Vite) و مرورگرها انجام شده است. فایل‌های TypeScript اکنون روی هدف ES2022 تنظیم می‌شوند تا از مزایای ماژول‌های ES و بهینه‌سازی در زمان اجرا بهره‌مند شوند. برای مروری فنی بر مفهوم ماژول‌های ECMAScript می‌توانید به صفحهٔ ECMAScript modules مراجعه کنید.

میان‌افزار به‌عنوان رفتار پیش‌فرض

در v8 میان‌افزار (middleware) به‌صورت پیش‌فرض فعال شده است. این تغییر برای تیم‌های بزرگ مزیت‌هایی مثل تمرکز مدیریت احراز هویت، ثبت لاگ و هدرها در نقطه‌ای واحد فراهم می‌کند، اما می‌تواند موجب اثرات شکسته‌کننده در پروژه‌های بزرگ شود اگر رفتارهای جدید در کدها مورد انتظار نباشند. برخی اعضای جامعه، از جمله Roman Fedyskyi، آن را گامی به سمت مدیریت متمرکز می‌دانند و منتقدان نگران تغییرات ناگهانی برای میلیون‌ها دانلود هفتگی در npm هستند.

صفحه‌نمایش کد و نمودارهای وابستگی مرتبط با React Router v8

فلگ‌ها، انتقال به پیش‌فرض و پیکربندی‌ها

چند فلگ آینده‌نگر مثل v8_middleware و v8_viteEnvironmentApi حذف شده و رفتارِ مرتبط با آن‌ها اکنون پیش‌فرض است. گزینهٔ splitRouteModules به پیکربندی سطح بالا منتقل شده و فعال باقی می‌ماند. تیم توسعه تأکید کرده که بسیاری از تغییرات شکسته‌کننده از قبل در v7 به‌عنوان future flag در دسترس بوده‌اند تا مسیر مهاجرت قابل پیش‌بینی‌تر باشد.

نکات عملی برای مهاجرت به React Router v8

مراحل پیشنهادی برای ارتقا:

  • مطابقت peer dependencyها با آستانه‌های جدید (Node، React، Vite).
  • فعال‌سازی و آزمون future flagها در نسخهٔ فعلی برای شبیه‌سازی رفتار v8.
  • حذف یا بازنویسی APIهای منسوخ پیش از ارتقا.
  • آزمون کامل مسیرها و میدلورهای سفارشی قبل از انتشار روی محیط تولید.

نمونهٔ تغییر در نقطه ورود APIها:

// قبلی
import { Link, useLocation } from "react-router-dom";

// جدید
import { Link, useLocation } from "react-router";

// APIهای مخصوص DOM اکنون از
import { /* ... */ } from "react-router/dom";

اگر بسته‌هایی به شدت وابسته به نسخهٔ قدیمی هستند، روند مهاجرت مرحله‌ای و اجرای تست‌های خودکار را توصیه می‌کنیم.

پشتیبانی ابزارها و رقابت در اکوسیستم

پس از انتشار، پلتفرم‌هایی مثل Netlify و ابزارهایی مانند Sentry پشتیبانی ابتدایی و به‌روزرسانی‌های سازگاری ارائه داده‌اند. چند نسخه جزئی تا v8.3.0 منتشر شده است. برخی توسعه‌دهندگان به دنبال جایگزین‌هایی مثل TanStack Router رفته‌اند که به‌خاطر ایمنی نوع و استراتژی کش محبوب شده است. در سوی دیگر، Next.js در زمینهٔ بلوغ React Server Components همچنان پیشتاز است.

حاکمیت باز، مستندات و منابع

React Router به‌صورت متن‌باز با مدل حاکمیت باز توسعه می‌یابد و نگهداری آن زیر نظر Shopify ادامه دارد. مستندات رسمی و راهنمای ارتقا در reactrouter.com در دسترس است و تیم قول داده چرخهٔ انتشار سالانه و قابل پیش‌بینی را دنبال کند.

چشم‌انداز فنی

v8 نشان می‌دهد پروژه در مسیر همگرایی با ابزارهای مدرن و نیازهای سازمانی حرکت می‌کند: استانداردسازی رفتارها، تسهیل مهاجرت و تمرکز بر سیاست‌ها و مدیریت مرکزی در لایهٔ فرانت‌اند. میزان پذیرش میان‌افزار پیش‌فرض و واکنش کتابخانه‌ها و فریم‌ورک‌های پیرامونی در ماه‌های آینده تعیین‌کنندهٔ تجربهٔ توسعه‌دهندگان خواهد بود.