1-ShouldRender
its necessary to track changes do enable it or not
protected override bool ShouldRender()
{
return _hasChanges;
}
2 - no delegates
<button @OnClick="() => Delete(item)">
Delete
use method:
<button @OnClick="DeleteCurrent">
3 - no objects as a parameter. but maybe record. search about it.
4 - avoid heave logic
@foreach(var user in Users
.Where(...)
.OrderBy(...)
.Take(50))
{
}
change to:
private IReadOnlyList visibleUsers;
visibleUsers = Users
.Where(...)
.OrderBy(...)
.Take(50)
.ToList();
5 - avoid string on properties:
class="@($"user-{Id}")"
change to:
private string cssClass;
protected override void OnParametersSet()
{
cssClass = $"user-{Id}";
}
1-ShouldRender
its necessary to track changes do enable it or not
protected override bool ShouldRender()
{
return _hasChanges;
}
2 - no delegates
<button @OnClick="() => Delete(item)">
Delete
use method:
<button @OnClick="DeleteCurrent">
3 - no objects as a parameter. but maybe record. search about it.
4 - avoid heave logic
@foreach(var user in Users
.Where(...)
.OrderBy(...)
.Take(50))
{
}
change to:
private IReadOnlyList visibleUsers;
visibleUsers = Users
.Where(...)
.OrderBy(...)
.Take(50)
.ToList();
5 - avoid string on properties:
class="@($"user-{Id}")"
change to:
private string cssClass;
protected override void OnParametersSet()
{
cssClass = $"user-{Id}";
}