جستجو برای:
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام
  • درباره ما
  • تماس با ما
آموزش جاوا اسکریپت(javascript)-کتابخانه ها و فریمورک ها
  • صفحه اصلی
  • دوره ها
    • راهنمای یادگیری
  • بلاگ
  • تالار گفتمان
  • کانال تلگرام
0

ورود و ثبت نام

وبلاگ

آموزش جاوا اسکریپت(javascript)-کتابخانه ها و فریمورک ها > بلاگ > React > نگاه اولیه به React Server Component

نگاه اولیه به React Server Component

آموزش REACT JS

تیم React در Dec 21 یک ویژگی جدید به نام Server Components معرفی کردند.این ویژگی هنوز به صورت آزمایشی است و هیچ داکیومنتی جز یک ویدئو معرفی در یوتیوب برای بررسی وجود ندارد.

اما اگر بخواهیم در یک جمله ساده این ویژگی رو معرفی کنیم : کامپوننت هایی با قابلیت واکشی data به صورت مستقیم از سرور.

Server Components به ما این اجازه رو میده تا در backend کامپوننت های React رو load کنیم.کامپوننت ها قبلا در backend (سمت سرور )render شدند و می توانند در برنامه به صورت یکپارچه ادغام و اجرا شوند.بنابراین میشه نتیجه گرفت که شبیه server-side rendering است اما کمی متفاوت عمل می کند.

مشابه getInitialProps  در Next.js، داده ها در  server components واکشی و به کامپوننت های front-end پاس داده می شوند.

با این وجود بر خلاف SSR قدیمی،  Server Components منعطف تر است.ما می توانیم server tree رو در حین اجرای برنامه fetch کنیم بدون اینکه state ها در سمت client از دست برود.آنها هنچنین از لحاظ فنی متفاوت هستند.در SSR کدهای جاوا اسکریپت ما به صورت Html

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

همانطور که در تصویر زیر نشان داده شده است ، اserver components به صورت پویا در برنامه گنجانده شده و در فرم خاصی منتقل می شوند.

همه دستورالعمل های JavaScript اجرا می شوند. 1 + 1 می شود 2 که در قالب  خاص خود منتقل می شود.  کامپوننت ها static  هستند و نمی توانند تعاملی باشند. در مقایسه با SSR ، فقط قسمت قابل مشاهده منتقل می شود و دیگر تعاملی در کار نیست.

react-server-component

اما مزیت بزرگ Server Components چیست؟

Zero-Bundle-Size-Components

دنیای جاوا اسکریپت پر از کتابخانه های فوق العاده است. فقط به پکیج هایی مثل Moment.js فکر کنید که اندازه آنها چندین  کیلو بایت است ، اما ما فقط از چند functions اون استفاده می کنیم.این موضوع می تواند برای عملکرد برنامه و درنتیجه کاربر خیلی بد باشد.

برای save در کدی که نیازی به آن نداریم می توان از Tree-shaking استفاده کرد. آنچه باقی می ماند هنوز تعداد زیادی کد است که اغلب فقط یکبار اجرا می شوند. به عنوان مثال ، برای  format تاریخ.

zero-bundling-in-server-component

به عنوان مثال، تیم React کدی را نشان می دهد که کتابخانه ای را برای render کردن Markdown ایمپورت می کنند. همانطور که مشاهده می کنید ، این کتابخانه دارای حجم زیادی است.

البته ، ما نمی خواهیم این همه کد را برای کاربر سمت front ارسال کنیم – این کار زمان و پهنای باند زیادی  را طلب مب کند.. همچنین این کتابخانه هیچ تعاملی با کامپوننت اصلی ندارد و ققط Markdown را render می کند.

use-server-component-for-zero-bundling-size

نکته  قابل توجه است این است  که پسوند فایل”server.js” است. اما code base یکسان است . فقط حالا همه چیز در سرور اتفاق می افتد.بنابراین به جای ارسال تمامی کدهای کتابخانه Markdown برای client، تنها نتیجه render شده برای client فرستاده می شود.
به طور خلاصه ، server components بر روی bundle size  تاثیری ندارد. کد فقط در backend  اجرا می شود و برای کاربر قابل مشاهده نیست.

دسترسی کامل Server Components به  backend

با RSC شما می تونید به دیتا های سمت سرور دسترسی داشته باشید و  مستقیم روی دیتابیس query بزنید .همچنین می تونید  با استفاده از کتابخونه هایی مثل react-pg,  react-fetch, react-fs  به میکروسرویس ها و فایل های روی سرور دسترسی داشته باشید.

خلاصه:

Server Components اختیارات و قابلیت های زیادی رو در اختیار ما قرار میده که به طور کلی و تیتر وار میتونیم به موارد زیر اشاره کنیم:

  • bundle size 0
  • از بین نرفتن دیتا stateها با rerender و  reload شدن کامپوننت
  • تعیین و انتخاب render شدن کامپوننت ها سمت سرور یا سمت کاربر
  • نمایش دیتاهای دریافتی از سرور به صورت stream

اشتراک گذاری:
برچسب ها: server componentآموزش reactآموزش React jsآموزش ری اکت

مطالب زیر را حتما مطالعه کنید

بهترین فریمورک های frontend 2021

فریمورک های Frontend که باید در سال 2021 یاد بگیرید

black friday

طرح تخفیف ویژه Black Friday

React Higher Order Components چیست

آموزش ری اکت

5 React Best Practice که باید در سال 2020 یاد بگیرید

تخفیف دوره آموزشی

در خانه بمانید و از این تخفیف لذت ببرید

آموزش react hooks

Hook های مفیدی که باید در پروژه بعدی React خود از آن استفاده کنید

قدیمی تر نحوه استفاده از API در React Native
جدیدتر 6 زبان برنامه نویسی برای یادگیری در سال 2021

دیدگاهتان را بنویسید لغو پاسخ

جستجو
جستجو برای:
دسته‌ها
  • Material UI
  • NodeJS
  • React
  • React Native
  • Vue Js
  • آموزش متنی
  • استارت آپ و آموزش
  • برنامه نویسی
  • جاوااسکریپت
  • گپ و گفت
ارتباط با ما
  • 09150274110
  • contact@reactapp.ir
دسترسی سریع
  • بلاگ
  • تله فیلم آموزشی
  • آموزش متنی
  • قوانین

تیم reactapp تمام تلاش خودش رو انجام میده تا محتوایی با کیفیت و به روز رو در اختیار علاقه مندان به حوزه جاوااسکریپت قرار بده. چیدمان تمامی آموزش های ویدئویی و مقالات به نحوی هست که شمارو به سمت بازار کار سوق بده تا هر چه سریع تر به عنوان یک نیرو فنی در بازار کار مشغول به فعالیت شده و به درآمد زایی برسید.

کلیه حقوق این سایت محفوظ و متعلق به reactapp.ir میباشد.
X
پیش نمایش دوره پیشرفته و پروژه محور جاوا اسکریپت منتشر شد. با ثبت ایمیلتون یک کد تخفیف 60 درصدی در روز انتشار دوره هدیه بگیرید.
ثبت ایمیل

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت