اندازه DOM را بهینه کنید

کانر کلارک
Connor Clark

تاریخ انتشار: 8 اکتبر 2025

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

درخت DOM عمیق به خودی خود یک مشکل عملکردی نیست، با این حال نشانه ای از الگوهای طراحی است که از تودرتوی عناصر غیر ضروری استفاده می کنند .

این بینش کل DOM را در نظر می گیرد، از جمله در ریشه های سایه. گره های DOM را که عناصری هم نیستند نادیده می گیرد. همچنین محتوای <iframe> را نادیده می گیرد.

به دنبال چه چیزی باشید:

  • کل عناصر : تعداد کلی عناصر در DOM صفحه شما.
  • عمق DOM : حداکثر عمق درخت DOM.
  • اکثر کودکان : عنصری که بیشترین عناصر فرزند را دارد.

چگونه می توان از این بینش عبور کرد

این بینش تنها در صورتی با شکست مواجه می‌شود که یک طرح بزرگ یا محاسبه مجدد سبک بیش از مدت زمان 40 میلی‌ثانیه وجود داشته باشد.

  • یک به‌روزرسانی طرح‌بندی بزرگ شامل بیش از 100 شیء طرح‌بندی (که تقریباً عناصر هستند) است.
  • یک محاسبه مجدد سبک بزرگ بیش از 300 عنصر را تحت تأثیر قرار می دهد.

در صورت شکست، در پانل عملکرد ، این بینش این رویدادها را در نمودار شعله برجسته می کند.

برای کاهش هزینه این رویدادها:

راهنمایی مخصوص پشته

این بینش همچنین راهنمایی‌های مخصوص پشته را برای صفحاتی که از فناوری‌های زیر استفاده می‌کنند ارائه می‌کند:

زاویه ای

اگر فهرست‌های بزرگی را ارائه می‌کنید، از پیمایش مجازی با Component Dev Kit (CDK) استفاده کنید.

واکنش نشان دهید

  • از یک کتابخانه "windowing" مانند react-window برای به حداقل رساندن تعداد گره های DOM ایجاد شده در صورت رندر کردن عناصر تکراری زیادی در صفحه استفاده کنید.
  • رندرهای غیرضروری را با استفاده از shouldComponentUpdate ، PureComponent یا React.memo به حداقل برسانید.
  • اگر از قلاب Effect برای بهبود عملکرد زمان اجرا استفاده می کنید، فقط تا زمانی که وابستگی های خاصی تغییر کرده باشند، از افکت ها رد شوید .

مراجع اضافی