نکست و اپ روتر: چرا سرور کامپوننتها نحوهی ساخت وبسایت را تغییر دادند
اپ روتر و سرور کامپوننتها فقط APIهای جدید نیستند؛ محل اجرای کد را تغییر میدهند. در این مقاله میبینید چطور حجم باندل کم، بازیابی داده سادهتر و صفحهها سریعتر شدند.
- Home-
- Categories-
- ریاکت و نکست-
نکست و اپ روتر: چرا سرور کامپوننتها نحوهی ساخت وبسایت را تغییر دادند
اپ روتر در نکست
چه چیزی واقعاً تغییر کرد
جابهجایی از روتر پیجها به اپ روتر بزرگترین تغییر نکست از زمان انتشارش است. لِیآوتها قابل اشتراک شدند، حالتهای بارگذاری تودرتو به امری عادی تبدیل شدند و سرور کامپوننتها بیشتر کار رندرینگ را از کلاینت برداشتند.
حلقهی اول: کد شما کجا اجرا میشود؟
- کامپوننتها پیشفرض کامپوننت سرور هستند و فقط HTML ارسال میکنند.
- باندل جاواسکریپت دیگر کدی را که لازم نیست در مرورگر اجرا شود حمل نمیکند.
- «use client» حالا انتخابِ صریح است، نه رفتار پیشفرض.
بازیابی دادهی سادهتر
در روتر پیجها برای هر صفحه باید `getServerSideProps` یا `getStaticProps` جدا مینوشتیم. در اپ روتر مستقیم داخل کامپوننت داده میگیریم و خود نکست درخواستها را یکتا میکند و کش میکند. همین یک دسته از باگهای سالهانرمافزار را حذف کرد.
نتیجهی قابل اندازهگیری
ملموسترین دستاورد کاهش حجم باندل بود. صفحهی اصلی همین وبسایت حدود ۱۸۰ کیلوبایت جاواسکریپت کمتر تحویل میدهد و بزرگترین محتوای نقاشیشده از ۲٫۴ ثانیه به حدود ۱٫۱ ثانیه در موبایل محدودشده رسید.
چه زمانی از کامپوننت کلاینت نگه داریم؟
- فرمهای تعاملی با بهروزرسانی خوشبینانه.
- کامپوننتهایی که به رویدادهای مرورگر مثل اسکرول گوش میدهند.
- هر چیزی که از Context برای وضعیتی که مدام تغییر میکند استفاده میکند.
سرور-اول پیشفرض عالیای است، اما «use client» در مرزِ درست همچنان انتخابِ صحیح است. مهارت این است که این مرز را کجا بگذاری.
جمعبندی
به مرز سرور و کلاینت به چشم یک تصمیم عملکردی نگاه کن، نه یک مد. رندر روی سرور بهعنوان پیشفرض و ارسال فقط آنچه واقعاً به مرورگر نیاز دارد، الگویی است که با محصول هم رشد میکند.
205
3100
you might also like...
The App Router and React Server Components are not just new APIs; they change where your code runs. Here is how they cut bundle size, simplified data fetching, and made my pages measurably faster.


