@page "/control-render" <label> <input type="checkbox" @bind="shouldRender" /> Should Render? </label> <p>Current count: @currentCount</p> <p> <button @onclick="IncrementCount">Click me</button> </p> @code { private int currentCount = 0; private bool shouldRender = true; protected override bool ShouldRender() { return shouldRender; } private void IncrementCount() { currentCount++; } }
ShouldRender
is called each time a component is rendered. Override ShouldRender
to manage UI refreshing. If the implementation returns true
, the UI is refreshed.
Even if ShouldRender
is overridden, the component is always initially rendered.
References
https://docs.microsoft.com/en-us/aspnet/core/blazor/components/rendering?view=aspnetcore-6.0#suppress-ui-refreshing-shouldrender
https://www.syncfusion.com/faq/how-do-i-suppress-the-ui-rendering-in-blazor