【问题标题】:Do Blazor Parameters carry additional overhead?Blazor 参数是否会带来额外的开销?
【发布时间】:2020-10-09 21:48:50
【问题描述】:

我有一个需要一些外部数据的 blazor 组件,所以我通过参数传递它。我的问题是,我应该重塑数据,创建一个额外的数据结构,并将其传递给组件,还是应该只发送整个原始对象。

如果传递参数是对原始对象的引用,那么它可能会带来非常少的额外开销。另一方面,如果原始对象是一个副本,那么值得将所需的数据重新整形为一个新对象。

谢谢。

【问题讨论】:

    标签: asp.net-core parameters blazor asp.net-blazor blazor-webassembly


    【解决方案1】:

    Blazor 不会进行深度对象树比较来查看在将参数传递给子项时值是否发生了变化。规则是,如果父级将参数传递给子级,那么每当父级渲染子级时,也会重新渲染,以防传递的值发生变化。

    如果生成的 HTML 没有任何不同,则不会进行 DOM 更改。

    如果您传递 1 或 10 个参数,则性能差异很小(可能是几毫秒)。

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多