TGViewer
️ CodeNight | آموزش برنامه نویسی ️ CodeNight | آموزش برنامه نویسی @codenight_ir · 849 subscribers
Post #76 258
ری‌اکت کامپایلر:
پایان دوران useMemo و useCallback دستی

اگه تا حالا با ری‌اکت کار کردی، حتماً درگیر بهینه‌سازی رندرهای اضافه با useMemo، useCallback و React.memo شدی. این کار هم وقت‌گیره هم جای خطا داره؛ یه دیپندنسی رو جا بندازی، کل بهینه‌سازی بی‌اثر می‌شه.

دقیقا React Compiler همین مشکل رو حل می‌کنه. این کامپایلر در زمان build، کد کامپوننت‌ها و هوک‌های شما رو آنالیز می‌کنه و به‌صورت خودکار memoization لازم رو اضافه می‌کنه؛ بدون اینکه شما دستی چیزی بنویسید. تیم ری‌اکت این پروژه رو مدت‌ها به‌صورت تجربی روی خود facebook.com تست کرد و حالا با انتشار نسخه پایدار ۱.۰، برای پروژه‌های production آماده‌ست.

نکته مهم: کامپایلر فقط زمانی درست کار می‌کنه که کد شما از Rules of React پیروی کنه (مثلاً موقع رندر، state یا props رو mutate نکنید). برای همین eslint-plugin-react-hooks هم قوانین مخصوص کامپایلر رو داره تا قبل از build مشکلات رو نشونتون بده.

نصبش در Next.js خیلی ساده‌ست:
// next.config.js
module.exports = {
reactCompiler: true,
}


برای پروژه‌های Vite یا هر ابزار دیگه‌ای هم کافیه پکیج زیر رو نصب کنید و به کانفیگ Babel اضافه کنید:
npm install babel-plugin-react-compiler


بعد از فعال‌سازی، دیگه لازم نیست نگران رندرهای اضافه‌ی کامپوننت‌های فرزند باشید؛ کامپایلر خودش تشخیص می‌ده کجا نیاز به memoization هست.

#برنامه_نویسی #ری‌اکت #فرانت_اند #React #WebDev


کانال آموزشی کدنایت | آموزش برنامه نویسی

🆔 @codenight_ir
  • ❤ 6
More from @codenight_ir
  1. Sep 27, 2026💻 مهم‌ترین نکات در وایب کدینگ وایب کدینگ یعنی با کمک AI سریع‌تر ایده‌ات رو به کد تبدیل کن…
  2. Sep 26, 2026با این پرامپت ۲ تا باگ کریتیکال رو فیکس کردم که بعدا میتونست مشکل ساز بشه چیزهایی که قبلا…
  3. Sep 26, 2026🔐 برای بررسی امنیت پروژه‌ای که با AI می‌سازیم، چه پرامپتی بنویسیم؟ وقتی با وایب‌کدینگ یک…
  4. Sep 26, 2026⚠️ اتفاق هک شدن دیتابیس سایت فکرم رو حسابی درگیر کرد ک کل امنیت وبسایت رو با ai بررسی کنم…
  5. Sep 26, 2026مشکل از نشت فایل .env بود حالا چطور این فایل در دسترس هکر ها قرار گرفته بود جالب بود اول ک…
  6. Sep 26, 2026ببخشید بابت تاخیر و از دسترس خارج شدن سایت باید دلیلش رو پیدا میکردم و باگ های امنیتی رو ف…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →