0

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

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

谢谢你。

4

1 回答 1

1

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

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

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

于 2020-06-19T16:03:59.633 回答