如何在 Blazor 中单击按钮时呈现组件?

How to render a component on button click in Blazor?

我是 SPA 框架和 Blazor 的新手,所以这可能是一个很容易回答的问题,尽管我在其他地方找不到答案。

我想在用户单击特定按钮时立即在页面上的某处显示一个组件。我目前是这样实现的:

@page "/test"

<button type="button" @onclick="() => showSignUpComponent = true">
    Show Sign Up Window
</button>

@if (showSignUpComponent)
{
    <SignUp />
}

@code {
    bool showSignUpComponent;
} 

我想知道是否有更好更简洁的方法(即正确的方法)在 Blazor 中执行类似的操作,或者这是常见的“标准”方法吗?

你做的很好,我敢说,标准做法!

如果你有不同的场景,你也可以用稍微不同的方式来做。例如,您可以定义一个字符串变量而不是布尔变量,并在其中存储一些相关信息等。

不过不用多说了。你所做的一切都很好,它表明你确实理解当 UI 事件(例如 'click')被触发时,组件是 re-rendered,并且没有必要调用 StateHasChanged...