نحوه ایجاد یک م Blaلفه Blazor بدون روش چرخه زندگی

madhupMadhu Sudhanan P

توسعه دهنده وب جلویی با علاقه به حل مسئله و یادگیری

در این پست وبلاگ ، من قصد دارم نحوه ایجاد یک شرکت Blazor را به اشتراک بگذارم mponent بدون روش های چرخه زندگی و نحو فایل ریش تراش. ما همچنین می توانیم این را به عنوان رویکرد جز component کلاس فقط بدون روشهای چرخه زندگی بیان کنیم. ممکن است بسیاری از آنها این روش ارائه م componentلفه ها را بدانند ، اما احساس کردم اشتراک گذاری این امر به افراد دیگری که نمی دانند کمک خواهد کرد. من این رویکرد را پس از مرور اجزای مختلفی که در کد منبع Blazor مورد استفاده قرار گرفت ، یافتم.

برای نشان دادن این روش ، ما قصد داریم یک م Ratingلفه ساده رتبه بندی ایجاد کنیم. “paragraf”> من در حال ایجاد کلاسی به نام Rating.cs هستم. همانطور که قبلاً ذکر شد این فقط یک جز class کلاس است بنابراین من یک مورد از اجزای Razor ایجاد نمی کنم.

public class < span> رتبه بندی
{
}

اولین قدم در این روش اجرای کلاس رتبه بندی با رابط IComponent است.

public < / span> class رتبه بندی : اجزای سازنده
{
}

اکنون کلاس رتبه بندی باید زیر دو روش رابط IComponent را پیاده سازی کند.

  • پیوست – نمونه RenderHandle را به م componentلفه رتبه بندی وصل کنید.
  • SetParametersAsync – تنظیم پارامترهای جز component. بله قبلاً دروغ گفته ام ، ما به این روش چرخه زندگی نیاز داریم. اما قول می دهم ، این تنها موردی است که من دیگر به آن اضافه نخواهم کرد.

در روش پیوست ، ما برای استفاده بعدی باید نمونه RenderHandle را دریافت و ذخیره کنیم . اکنون کد به صورت زیر خواهد بود.

public class رتبه بندی : اجزای سازنده
{ خصوصی RenderHandle _renderHandle؛ void IComponent.Attach (RenderHandle renderHandle) { _renderHandle = renderHandle؛ }
}

اکنون باید از روش SetParametersAsync استفاده کنیم ، این روش باید زیر دو مسئولیت مهم را بر عهده بگیرد.

  • پارامترهای جز component را از ParameterView دریافت کنید و تنظیم کنید خاصیت م correspondingلفه مربوطه. در اینجا م Ratingلفه رتبه بندی از ویژگی Value استفاده می کند.
  • روش Render از RenderHandle را با نماینده RenderFragment فراخوانی کنید.

اکنون م ratingلفه رتبه بندی نهایی مانند زیر است .

public class رتبه بندی : اجزای سازنده < / span> { خصوصی RenderHandle _renderHandle؛ [ پارامتر ] عمومی int ارزش { دریافت ؛ مجموعه ؛ } void IComponent.Attach (RenderHandle renderHandle) { _renderHandle = renderHandle؛ } وظیفه IComponent.SetParametersAsync (پارامترهای مشاهده پارامتر) { foreach ( var ورودی در پارامترها) { سوئیچ (entry.Name) { مورد نام ( مقدار ): مقدار = ( int ) ورودی. Value؛ شکستن ؛ } } _renderHandle.Render (RenderDelegate) ؛ Return Task.CompletedTask؛ } private void RenderDelegate ( سازنده RenderTreeBuilder ) { int max = Math.Min (مقدار ، 5 int seq = 1 ؛ برای ( var i = 0 ؛ من “span” )؛ سازنده. افزودن Attribute (seq ++ ، “style” ، “color: # f49813؛ font-size: 30px” )؛ builder.AddContent (seq ++، “★” )؛ builder.CloseElement ()؛ } } }

اکنون م componentلفه رتبه بندی مانند برنامه زیر می تواند در برنامه ما استفاده شود.

خروجی به صورت زیر است.

> بند > بند > بند > بند > بند > بند> امیدوارم یکی از راههای ایجاد م Blaلفه های Blazor را فرا گرفته باشید. در این پست ، من نه این را به عنوان بهترین روش توصیه می کنم و نه اصرار دارم که از این روش برای مزایای عملکرد استفاده کنم. من این روش را به عنوان یک روش ساده و تمیز در ایجاد اجزای ساده Blazor یافتم. کدگذاری مبارک !!

همچنین در https://dev.to/madhust/blazor-in-thepth-create-blazor-component-without-lifecycle-methods-2786