بهینه سازی عملکرد با استفاده از React -Compiler – Community Dev

بنابراین ، بگذارید یک داستان واقعی از پروژه خودم به اشتراک بگذارم.
من در حال کار بر روی برنامه ردیابی اشتراک خود بودم که چیزی را که من ساخته ام برای حفظ تمام خدماتی که استفاده می کنم (مانند Spotify و Netflix) انجام دهم. همه چیز خوب پیش می رفت تا اینکه یک نوار جستجو برای فیلتر کردن اشتراک ها اضافه کردم.
در ابتدا ، من فکر کردم ، “این یک ورودی ساده با برخی از منطق فیلتر نیست و هیچ کار بزرگی ندارد.” اما به محض اینکه شروع به تایپ کردن در قسمت جستجو کردم ، اتفاق عجیبی رخ داد …
کل صفحه من دوباره ارائه شد.
هر بار که یک حرف را تایپ می کردم ، تمام کارتهای اشتراک (Spotify ، Netflix و غیره) را دوباره ارائه می دادند. فرقی نمی کرد کارت مربوط به جستجو باشد یا خیر. حتی اگر من چیزی را تایپ کنم که به هیچ وجه با هیچ یک از اشتراک ها مطابقت نداشته باشد ، همه چیز هنوز به روز شده است.
این چیزی است که من دیدم:
FPS هنگام تایپ سریع کمی کاهش یافت.
حتی مؤلفه هایی که تغییر نکردند به روز شدند.
و بله ، فقط برای یک نوار جستجوی ساده مانند Overkill احساس می شد.
من از usestate برای ذخیره ورودی جستجو استفاده کردم و آن را در هر کلید کلیدی که بسیار استاندارد است به روز کردم. اما من به سرعت فهمیدم که چگونه این تغییر حالت واحد باعث ایجاد اثر دومینو از رونمایی مجدد می شود.
این زمانی است که من شروع به فکر کردم:
برای رسیدگی به این امر باید یک روش باهوش تر وجود داشته باشد.
و این منطقی است زیرا این امر چگونه React کار می کند ، هر زمان که غرفه ها تغییر می کنند و مجدداً هر مؤلفه UI را تغییر می دهد ، حتی اجزای تغییر نمی یابد. اما این باعث می شود عملکرد برنامه من در دراز مدت کند شود.
راه سنتی برای رسیدگی به این موضوع این بود که دکمه ها و کارت های من به آن بسته بندی شد شما در دعوت هستید وت React.Memo
و سپس من برای اولین بار کامپایلر React را امتحان کردم ، فقط از کنجکاوی. من انتظار نداشتم که چیزی دیوانه وار فکر کند که می توانم بررسی کنم که اعتیاد به مواد مخدره چیست.
اما صادقانه؟ من منفجر شدم.
بنابراین ، کامپایلر React چیست؟
کامپایلر React ابزاری جدید است که توسط تیم React ایجاد شده است و به برنامه شما کمک می کند تا با بهینه سازی خودکار نحوه به روزرسانی اجزای شما به عملکرد بهتر عمل کند.
مثل یک دستیار هوشمند که کد شما را تماشا می کند و می گوید ، به آن فکر کنید ،
“سلام ، این قسمت دیگر نیازی به دویدن ندارد. بگذارید این کار را برای شما انجام دهم.”
این امر نیاز به حفظ دستی توابع یا مقادیر حافظه پنهان را با استفاده از قلاب هایی مانند Usememo یا UseCallback حذف می کند. شما کد React پاک و تمیز می نویسید – و عملکرد آن را در پس زمینه انجام می دهد.
آنچه کامپایلر واکنش نشان می دهد متفاوت است
به جای اینکه نگران یادآوری باشید ، کامپایلر React این کار را برای شما انجام می دهد – از نظر خودکار.
این همان کاری است که انجام می دهد:
این کد شما را در طی فرآیند ساخت تجزیه و تحلیل می کند.
این درک می کند که چه چیزی در مؤلفه شما تغییر می کند.
این باعث می شود که در پشت صحنه یادآوری شود ، بنابراین مؤلفه شما فقط در صورت نیاز مجدداً مجدداً رد می شود.
این بدان معنی است:
دیگر برای حفظ منابع عملکردی دیگر وجود ندارد.
دیگر برای مقادیر ذخیره سازی استفاده نمی شود.
نیازی به بسته بندی همه چیز در React.memo نیست.
شما فقط کد می نویسید ، و کامپایلر React از بهینه سازی مراقبت می کند.
افکار نهایی
React Compiler مانند یکی از آن ویژگی های تغییر بازی است که به ساکت تجربه توسعه شما را ارتقا می دهد. شما کد واکنش منظم و ساده را می نویسید – و مانند یک حرفه ای از عملکرد مراقبت می کند.
اکنون دوباره و دوباره همه کارت ها را دوباره ارسال نمی کند.
اگر هنوز آن را امتحان نکرده اید ، به آن چرخش دهید. من به شما می گویم – پس از آن که آن را در عمل مشاهده می کنید ، نمی خواهید دوباره برگردید تا دوباره همه چیز را بهینه کند.