ASP0006: Jangan gunakan angka urutan non-harfiah
Nilai | |
---|---|
ID Aturan | ASP0006 |
Kategori | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Penyebab
Pemanggilan pada metode dalam RenderTreeBuilder berisi angka urutan yang bukan harfiah sebagai parameter.
Deskripsi aturan
BlazorAlgoritma diffing UI bergantung pada nomor urut untuk menentukan elemen mana yang telah berubah. Menghitung nomor urut secara dinamis atau menggunakan penghitung dapat mengakibatkan performa yang berbeda dengan buruk. Sebagai gantinya, gunakan nomor urutan harfiah yang memetakan ke baris kode sumber untuk elemen . Misalnya, kode berikut menghasilkan kesalahan:
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
var seqNum = 1;
builder.OpenElement(seqNum, "div");
builder.CloseElement();
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, pastikan bahwa panggilan ke metode pada RenderTreeBuilder kelas yang mengambil nomor urut sebagai parameter menggunakan nomor urutan harfiah.
using Microsoft.AspNetCore.Components.Rendering;
var builder = new RenderTreeBuilder();
builder.OpenElement(0, "div");
builder.CloseElement();
Kapan harus menekan peringatan
Jangan menekan peringatan dari aturan ini. Menggunakan nomor urut non-harfiah dapat mengakibatkan penurunan performa.
ASP.NET Core