smalljs$molجستجو⌘ Kمستنداتزمین بازیمقایسهاکوسیستمدربارهFA
رندرGetting Startedمعرفیمدل ذهنیشروع به کاراز تایپ‌اسکریپت به view.treeساختار پروژهابزارهاEssentialsنصبنماهاوضعیت و واکنش‌گراییمسیریابیرندرتست‌نویسیاستقراررفع اشکالDataدریافت دادهطرح‌واره‌های دادهGiper BazaMoreویتریناز React، Vue و Svelteکتابِ آشپزیAdvancedپلاگین‌هافراداده‌های ماژولآفلایننماهای شبحAboutپرسش‌های پرتکرارتیمانتشارهاAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

رندر

این فصل دربارهٔ آن است که میان تغییرِ وضعیت واکنش‌گرای شما و به‌روزرسانی پیکسل‌ها روی صفحه چه اتفاقی می‌افتد. به‌ندرت لازم است به آن فکر کنید — اما درک این مدل توضیح می‌دهد چرا کدِ $mol بدون تلاش خاصی سریع می‌ماند.

بدون DOM مجازی

$mol درختِ مجازی را diff نمی‌کند. هر ویژگیِ نما مستقیماً به گره یا ویژگیِ DOM که کنترل می‌کند متصل است، از طریق همان سلول‌های واکنش‌گرایی که پیش‌تر در وضعیت دیدید. وقتی یک سلول تغییر می‌کند، فقط همان اتصال‌های دقیقی که آن را می‌خوانند دوباره اجرا می‌شوند — نه یک زیردرخت، نه یک تابعِ کامپوننت، فقط ویژگی‌های متأثر.یعنی هیچ گذرِ آشتی‌دهی‌ای برای بهینه‌سازی وجود ندارد، هیچ کلیدی برای تنظیم دستیِ diff فهرست نیست، و هیچ memo/shouldComponentUpdate‌ای که به آن پناه ببرید. گراف وابستگی‌ها از پیش کمینه‌مجموعهٔ به‌روزرسانی‌ها را می‌داند.

کامپوننت‌ها تنبل‌اند

یک نما تنها زمانی ساخته می‌شود که چیزی آن را بخواهد. صفحه‌ای که هرگز به آن نمی‌روید هرگز ساخته نمی‌شود؛ زبانه‌ای که هرگز باز نمی‌کنید هیچ هزینه‌ای ندارد. چون ساخت بر پایهٔ نیاز و کش‌شده است، سرِهم‌کردنِ درخت‌های بزرگِ کامپوننت ارزان است — بخش‌هایی که لازم نیستند صرفاً هنوز وجود ندارند.

رندر مجازی‌سازی‌شده است

$mol تنها آنچه را که درون ناحیهٔ دید است رندر می‌کند. کامپوننت‌هایی که از دید بیرون اسکرول شده‌اند به‌عنوان DOMِ پنهان نگه داشته نمی‌شوند — اصلاً ساخته نمی‌شوند و همان لحظه که به محدوده اسکرول می‌شوند ساخته می‌شوند. این یک ویژگیِ معماریِ فریم‌ورک است، نه یک قابلیتِ اختیاری و نه یک کامپوننتِ فهرستِ ویژه: هر چیدمانی مجازی‌سازی می‌شود، پس فهرستی با ده مورد و فهرستی با ده‌هزار مورد تقریباً به یک اندازه برای نمایش هزینه دارند.اثر عملی این است که درخت‌های معمولیِ کامپوننت و فهرست‌های بلند می‌نویسید بدون آنکه سراغ کتابخانه‌های windowing بروید.

اعدادِ بازتولیدپذیر

ادعاهای کارایی تنها زمانی مفیدند که بتوانید بازتولیدشان کنید. به‌جای نقلِ ارقام در اینجا، $mol در js-framework-benchmarkِ اجتماعی شرکت می‌کند؛ می‌توانید نتایجش را بخوانید و مجموعه را خودتان دوباره اجرا کنید: نتایج js-framework-benchmarkآن را به‌عنوان منبع حقیقت برای مقایسه‌ها در نظر بگیرید — اندازه‌گیری‌شده، نسخه‌بندی‌شده و مستقل از این صفحه.

بعدی

با این، مدلِ اصلیِ نحوهٔ اجرای $mol کامل می‌شود. در گام بعد، آن را در دریافت داده به کار بگیرید تا دادهٔ واقعی بارگذاری کند.
ویرایش این صفحه در GitHubآیا این مفید بود؟بلهخیرقبلیمسیریابیبعدیتست‌نویسی
در این صفحهبدون DOM مجازیکامپوننت‌ها تنبل‌اندرندر مجازی‌سازی‌شده استاعدادِ بازتولیدپذیربعدی
Type to search the documentation.