通过重写 BlazorComponent.BuildRenderTree(RenderTreeBuilder builder) 创建组件

ben*_*min 3 .net c# blazor

我正在学习 Blazor。 https://learn-blazor.com/

BuildRenderTree(RenderTreeBuilder builder)我在通过重写类的方法在 C# 中创建组件时遇到一些困难BlazorComponent

这是我的课程:

   public class TestComponent : BlazorComponent
    {
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            builder.OpenElement(1, "p");
            builder.OpenElement(2, "strong");
            builder.AddContent(3, "hello");
            builder.CloseElement();
            builder.CloseElement();

            base.BuildRenderTree(builder); // With or without this line it doesn't work
        }
    }
Run Code Online (Sandbox Code Playgroud)

我在我的页面中使用它,如下所示:

<TestComponent></TestComponent>
Run Code Online (Sandbox Code Playgroud)

我已经在使用和不使用最后一行的情况下对其进行了测试base.BuildRenderTree(builder);,但无论哪种方式它都不会呈现。我把组件做得非常简单(只有一个段落标签、强标签和一个内容词),所以我不明白为什么它不会渲染。代码构建得很好。

有人可以看看我做错了什么吗?

Isa*_*aac 6

首先不要再使用该网站。我通过该网站了解了 Blazor。这是一个很棒的网站,这个人做得非常出色。但可惜的是,他停止了更新,至少在过去的六个月里是这样。材料已经变得陈旧无用。目前,我不知道有什么好的替代品。

尝试这个:

  1. Place base.BuildRenderTree(builder); at the start of the BuildRenderTree method , not at the end.

  2. Use ComponentBase instead of BlazorComponent... BlazorComponent is dead...

  3. Always start with the value 0 for the sequence parameter.