React 18 مگه چی دار؟

پوریا سبحانلو

پوریا سبحانلو

24 اردیبهشت 1403
دقیقه 6
React 18 مگه چی دار؟
react

چند وقتی بود میخواستم change log نسخه react 18  رو بررسی کنم.

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

اینجوری هم با توابع و سیستم داخلی جدید اون اشنا میشید هم اینکه میفهمید چه توابعی از اون تو نسخه جدید منقضی شده. یا اصلاحا  deprecate شده.

میخوام با هم یه مرور رو React 18  داشته باشیم.

ری اکت 17 برای توسعه دهنده ها یکم کسل کننده و خسته کننده بود. این به این معنی که تو این ورژن تغییرات زیاد و مورادی که تاثیرات زیادی برای توسعه باشه گزاشته نشده بود.

. در این مقاله می‌خواهم برخی از به‌روزرسانی‌های جدید نسخه 18 را به شما بگویم و به شما نشان خواهم داد که چطوری با استفاده از react 18  شروع  به کار کنید.

 اولین چیزی که نظرمو جلب کرد  RootApp جدیدی هست که باید به دیدنش عادت کنید.   


ما کامپوننت  اصلی App را به react dom.render و سپس document.getElementById و عنصر ریشه خود را پاس می کنیم. بنابراین ما component اصلی خود را به عنصر ریشه   صفحه رندر می کنیم. خیلی ساده!

تغییرات react 18

 

این یه روش جدید است. ما یک component App داریم که برابر با روش جدیدی به نام create root است. این عنصر ریشه ما ارسال می شود و سپس root.render را فراخوانی می کنیم و component برنامه خود را پاس می کنیم

تغییرات react 18

 

 

React Suspense


همانطور که از اسمش پیداست  تعلیق یا تاخیر پیش امده رو با یه کامپوننت دیگه پوشش میده. 
در واقع تا زمانی که آماده رندر بشه اون کامپوننت به حالت تعلیق در می یاد

در این مثال، ما کامپوننتی داریم که برای واکشی داده ها قبل از آماده شدن برای رندر  به زمان نیاز دارد. منظور از زمان اینه که ممکنه چند ثانیه منتظر پاسخ سرور برای دریافت یه API باشه.


در این حالت میتوتید به راحتی یه کامپوننت  Loading به کاربر نشون بدید. و مطمین بشید تا قبل اینکه شما نگفتید کامپوننت  اجرا یا  mount نمیشه

Suspense تا زمانی که داده ها برگردانده نشده باشد مقدار  مؤلفه fallback رو نمایش میدهد ،مثلا کامپوننت Loading رو تازمانی که بهش گفته نشود ظاهر میشود.

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

برای درک بیشتر یه مثال از خود بلاگ وبسایت  React  در اینجا میزارم.
صفحه ای داریم متشکل از کامپوننت های  نوار  Sidebar یک  SideBar، Post و کامپوننت Comment

در این مثال، ما Sidebar و Comment را به حالت تعلیق در می آوریم. 
Hydration از اولین جزء معلق درخت آغاز می شود. بنابراین  Sidebar  ابتدا Hydration  می شود

اگر ما واقعاً نیازی به بارگذاری Comment  قبل از تعاملی شدن سایت نداریم. پس ما Comment  را به حالت تعلیق در می آوریم. تا بازدید کننده شروع به خواندن مقاله کند
و سپس Comment  را در پس زمینه بارگذاری می کنیم.


پوریا سبحانلو

پوریا سبحانلو

سلام من پوریام

یه php کاری که ریز نگاهی هم به فریم ورک های js داره


admoon من اینجام

اینارو هم یه نگاه بنداز