的stathaschanged()上的应用程序布局改变一切?



我希望系统时间在主布局的顶部,但这只在阴影DOM中改变。为了使它可见,我需要使用StateHaschanged()。我的问题是,主布局有整个网站在它,它重新渲染它吗?如果是,它将导致性能问题…

是否StateHasChanged()在主AppLayout改变整个主体?

是的,你造成了所谓的"渲染级联";在渲染树下面。任何具有Parameter引用对象的子对象都将调用它的SetParmetersAsync,即使它没有改变。因为你几乎肯定使用ComponentBase,这将触发渲染。还有孙子孙女.......注意,ChildContentRenderFragment,因此是一个引用对象。

解决这个问题的简单方法是将时间显示封装在组件中,然后将其放置在布局中。TimeDisplayComponent现在是AppLayout的孩子,不触发父渲染事件。"渲染Cascades"只能向下传播,不能向上传播。

相关内容

  • 没有找到相关文章

最新更新