什么时候参数不同

  • 本文关键字:参数 什么时候 blazor
  • 更新时间 :
  • 英文 :


类似于React,Blazor在其参数(React中的"props"(更改时重新渲染子组件。

这在基元类型中起到了预期的作用,但我还没有弄清楚如何控制自定义类型。

似乎简单的对象总是被认为是不同的,即使对象没有改变:

@page "/"
<h1>Hello, world!</h1>
<Nested Object="@myObject" />
<button @onclick="() => { }">clickme</button>
@code {
private Object myObject = new object();
}

在这里,Nested组件总是在单击按钮时重新渲染,即使它是唯一的参数Object从未更改。

我已经将Nested定义为

<h3>
(last render at @DateTime.Now.TimeOfDay)
</h3>
@code {
[Parameter]
public Object Object { get; set; }
}

以简单地观察它何时重新渲染。

我还尝试定义一个新类型来覆盖EqualsGetHashCode并实现IEquatable<T>,但效果是一样的。

React不会为了重新渲染的目的而认为引用相同的对象是不同的。

如何将非基本体数据传递给子组件,而不将子组件的重新渲染与父组件的重新呈现相结合?

只要属性更改可能导致UI更改,就应该调用StateHasChanged()方法。

相关内容

  • 没有找到相关文章

最新更新