Bagikan melalui


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.