دانیال کارگری
دانیال کارگری
خواندن ۱ دقیقه·۳ سال پیش

دروازه ای به سوی دیگری از DOM در ریکت

پورتال ها (Portals) ویژگی جدیدی در ریکت اند که به ما کمک میکنند المنتی را در جای مشخصی از DOM قرار بدیم.

همانطور که میدونید تموم کامپوننت ها و المنت هایی که در ریکت میسازیم، درون المنتی با آیدی "root " قرار میگیرند، حال با معرفی پورتال ها، ما به راحتی میتونیم Modals, Tooltips, Popovers, Loader و کلا المنت هایی که استایل به خصوصی دارند رو به خونه جدیدی منتقل کنیم!

نمای دیگری از پورتال ها :)
نمای دیگری از پورتال ها :)

نحوه استفاده از اونا خیلی راحته، کافیه در قسمت return کامپوننت بنویسیم:

نکته 1: element همان المنتی هست که میخواهیم در خارج از سلسه مراتبش قرار بگیرد.

نکته 2: domNode آدرس قسمت مد نظرمون از DOM که برای اشاره کردن به آن، میتونیم از getElementById، querySelector و... استفاده کنیم.

برای واضح تر شدن مطلب، بیاید یه مثال بنویسیم:

در قدم اول، در صفحه index.HTML، المنت جدیدی را با آیدی مد نظر میسازیم:

و در قدم دوم، المنت مد نظر را درون تابعی که بهش اشاره کردم، قرار میدهیم:

به همین راحتی، میتوان یک المنتی را به جای دیگری از DOM منتقل کرد!

ریکتreactفرانت اندportalبرنامه نویسی
شاید از این پست‌ها خوشتان بیاید