Blazor - دورة حياة الـ Component (Lifecycle Methods)

Blazor Server - دورة حياة الـ Component (Lifecycle Methods)

في Blazor، لكل مكون (Component) دورة حياة (Lifecycle) تتضمن عدة مراحل يتم فيها تنفيذ أحداث معينة مثل: التهيئة، التحديث، الحذف.

🔹 أهم دوال دورة الحياة (Lifecycle Methods):

  • OnInitialized: يتم استدعاؤها عند تهيئة المكون لأول مرة.
  • OnInitializedAsync: نسخة غير متزامنة (Async) من OnInitialized.
  • OnParametersSet: يتم استدعاؤها عند تعيين القيم للـ Parameters الخاصة بالمكون.
  • OnParametersSetAsync: النسخة غير المتزامنة.
  • OnAfterRender: يتم استدعاؤها بعد أن يتم عرض المكون لأول مرة أو بعد كل تحديث.
  • OnAfterRenderAsync: النسخة غير المتزامنة.
  • Dispose: يتم استدعاؤها عند التخلص من المكون (Cleanup Resources).

🔹 مثال عملي:


// ملف LifecycleExample.razor

<h3>Lifecycle Example</h3>

@code {
    protected override void OnInitialized()
    {
        Console.WriteLine("تم استدعاء OnInitialized");
    }

    protected override async Task OnInitializedAsync()
    {
        Console.WriteLine("تم استدعاء OnInitializedAsync");
        await Task.Delay(1000);
    }

    protected override void OnParametersSet()
    {
        Console.WriteLine("تم استدعاء OnParametersSet");
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            Console.WriteLine("تم استدعاء OnAfterRenderAsync لأول مرة");
        }
    }

    public void Dispose()
    {
        Console.WriteLine("تم استدعاء Dispose للتنظيف");
    }
}

🔹 ملاحظات مهمة:

  • firstRender داخل OnAfterRenderAsync يسمح لك بالتمييز بين العرض الأولي والتحديثات اللاحقة.
  • من الأفضل تنفيذ الأعمال الثقيلة مثل جلب البيانات داخل OnInitializedAsync وليس OnInitialized.

✅ فهم دورة الحياة ضروري لبناء مكونات Blazor قوية وفعالة.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework