برنامه نویسی

Next.js 13 فایل ویژه، واکشی داده ها و برچسب سر – صفحه، طرح و قالب

قبل از شروع، به این نکته توجه کنید به طور پیش فرض اجزای Next.js 13 اجزای سرور هستند. این تقریباً به این معنی است که شما نمی توانید از عوارض جانبی مشتری و اقداماتی مانند این استفاده کنید useEffect، استفاده از ایالت، روی کلیک کنیدو غیره. می توانید با افزودن، سمت کلاینت کامپوننت را بسازید “استفاده از مشتری”؛ بخشنامه در بالای جزء بر واردات.
اجزای سرور همچنین با کاهش مقدار جاوا اسکریپت ارسال شده به مشتری، عملکرد را بهبود می بخشد، واکشی داده ها را آسان تر می کند، برای SEO بهتر است زیرا ربات های موتور جستجو می توانند به راحتی به محتوای HTML صفحه دسترسی داشته باشند و نیازی به منتظر ماندن برای مشتری نیست. اجرای کد سمت.

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

صفحات

مهمترین فایل در فهرست برنامه جدید صفحه است. این به این دلیل است که فایل صفحه مسیر را در دسترس عموم قرار می دهد.

شما با صادر کردن تابع به عنوان پیش فرض از صفحه، صفحه ایجاد می کنید page.tsx فایل مانند مثال زیر شما می توانید تابع را هر چه می خواهید صدا بزنید.

نمونه کد صفحه اصلی در nextjs 13

طرح بندی ها

که در layout.tsx، یک رابط کاربری ایجاد می کنید که بین چندین صفحه فرزند به اشتراک گذاشته می شود. بنابراین شما می توانید یک UI برای /شرکت/درباره و این طرح برای تمام صفحات تحت مسیر اعمال خواهد شد /company/about/*، اما نه برای مسیرهای خواهر و برادر مانند /شرکت/حرفه.
می توانید در هر سطحی از مسیر یک طرح بندی ایجاد کنید.

در مسیریابی، طرح‌بندی‌ها حالت را حفظ می‌کنند، تعاملی باقی می‌مانند و دوباره ارائه نمی‌شوند.

می‌توانید با صادر کردن تابع به‌عنوان پیش‌فرض از یک طرح‌بندی ایجاد کنید layout.tsx فایل.
توجه داشته باشید که بالاترین تابع چیدمان فراخوانی می شود RootLayout، هر چیدمان دیگری را که می توانید به دلخواه صدا بزنید. در مثال زیر می توانید RootLayout را مشاهده کنید که مورد نیاز است.

نمونه کد طرح روت در nextjs 13

در چیدمان ریشه باید شامل شود html و بدن برچسب ها

هر طرح بندی دیگری می تواند به این شکل باشد (طرح بندی برای /در باره صفحه)

نمونه کد طرح بندی رایج در nextjs13

می توانید بچه ها را در هر چیزی که می خواهید بپیچید.
هر طرح‌بندی، تکیه‌گاه کودکان را می‌پذیرد که با طرح‌بندی‌ها و صفحات کودک پر می‌شود.

قالب ها

الگوها شبیه طرح‌بندی‌ها هستند، آنها همچنین هر طرح و صفحه فرزند را می‌پیچانند، اما الگوها در حین پیمایش، نمونه جدیدی را برای هر یک از فرزندان خود ایجاد می‌کنند، برخلاف طرح‌بندی‌هایی که در مسیرها باقی می‌مانند و حالت را حفظ می‌کنند.
این بدان معنی است که اگر بین مسیرهایی که یک الگوی مشترک دارند پیمایش کنید، عناصر DOM دوباره ایجاد می‌شوند و نمونه جدیدی از مؤلفه نصب می‌شوند.
شما می توانید یک الگو درست مانند یک طرح بندی معمولی ایجاد کنید.

نمونه کد قالب در nextjs13

توجه داشته باشید که اگر دلیل خاصی برای استفاده از قالب ندارید، باید از layout استفاده کنید. الگوها ممکن است برای مواردی مانند:

  • با استفاده از CSS یا کتابخانه های انیمیشن، انیمیشن ها را وارد/خروج کنید.
  • ویژگی هایی که به useEffect (مانند ورود به سیستم بازدید از صفحه) و useState (مانند فرم بازخورد هر صفحه) متکی هستند.
  • برای تغییر رفتار چارچوب پیش فرض. به عنوان مثال، مرزهای تعلیق در طرح‌بندی‌ها، فقط در اولین باری که Layout بارگیری می‌شود، بازگشتی را نشان می‌دهد و نه هنگام تعویض صفحه. برای الگوها، بازگشت به عقب در هر پیمایش نشان داده شده است.

واکشی داده ها

صفحات و طرح‌بندی‌ها مانند سایر اجزا می‌توانند داده‌ها را واکشی کنند. به دلیل کامپوننت های سرور جدید، واکشی داده ها در Next.js 13 واقعاً مفید است و مزایای زیادی دارد.

همچنین می توانید داده ها را در مؤلفه های مشتری واکشی کنید. کتابخانه هایی مانند SWR یا React Query در Client Components توصیه می شوند. (در آینده استفاده از آن نیز امکان پذیر خواهد بود استفاده کنید() قلاب).

شما می توانید با استفاده از بومی به سیستم جدید واکشی داده ها دسترسی داشته باشید رفتن و آوردن() Web API و استفاده کنید ناهمگام/در انتظار در اجزای سرور

می‌توانید داده‌ها را در چندین مؤلفه واکشی کنید، Next.js 13 به‌طور خودکار درخواست‌ها را کش می‌کند (گرفتن) که ورودی یکسانی در حافظه پنهان موقت دارند. به این ترتیب از موقعیت‌هایی که در آن داده‌های یکسان را می‌توان بیش از یک بار واکشی کرد، جلوگیری کرد. برای واکشی داده‌ها در طرح‌بندی‌ها مفید است، زیرا امکان انتقال داده‌ها بین طرح‌بندی والد و فرزندان آن وجود ندارد. کافی است داده‌ها را مستقیماً در طرح‌بندی مورد نیاز واکشی کنید، و Next.js 13 از ذخیره‌سازی و حذف درخواست‌ها مراقبت می‌کند.

دو الگوی واکشی داده

  • واکشی داده های موازی – اگر یک پرس و جو وابسته به مورد قبلی ندارید، می توانید از واکشی داده های موازی استفاده کنید. این امر آبشارهای سرویس گیرنده-سرور و کل زمان بارگیری داده ها را کاهش می دهد، زیرا درخواست ها در یک مسیر مشتاقانه شروع می شوند و همزمان شروع به واکشی می کنند.
  • واکشی متوالی داده ها – اگر یک پرسش وابسته به قبلی دارید، می توانید از واکشی متوالی داده استفاده کنید. این می تواند به زمان بارگذاری طولانی تر منجر شود، اما در مواردی که یک واکشی به نتیجه قبلی بستگی دارد مفید است.

اگر می‌خواهید درباره الگوهای واکشی داده‌ها بیشتر بدانید، به مستندات Next.js 13 مراجعه کنید.
اگر می‌خواهید دانش خود را به طور کلی در مورد واکشی داده در Next.js 13 گسترش دهید، این لینک است.

در حال اصلاح سر برچسب زدن

یک چیز دیگر که باید بدانید روش جدیدی برای اصلاح است سر برچسب زدن

اگر از مقادیر استاتیک در تگ head استفاده می کنید:

روش ایستا برای تغییر تگ head در nextjs13

اگر از داده های پویا در تگ head استفاده می کنید:

روش Dynamin برای تغییر تگ head در nextjs13

این همه در این مقاله است. اگر می خواهید دانش خود را گسترش دهید، مستندات را بررسی کنید.
امیدوارم لذت برده باشید! 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا