BootstrapBlazor
BootstrapBlazor copied to clipboard
自定义组件有未处理异常的时候会重新渲染100次,代码如下
@namespace BootstrapBlazor.Components
测试组件
@code { protected override async Task OnAfterRenderAsync(bool firstRender) { await base.OnAfterRenderAsync(firstRender);
if (firstRender)
{
System.Console.WriteLine("=========初始化===========================");
var i = 0;
var b = 1 / i;
}
}
}
初始化方法被调用了100次,在wasm模式下。
自己捕获处理一下异常
有未处理的异常应该跳转到一个异常页面,而不是重新回到出错页面。如果你回到出错页面,页面就会重新渲染,然后又引发你的异常,这个逻辑是没问题的。只是你的处理方式有问题。
重复 100 次是微软的代码重复的,我们封装的 ErrorLogger 组件目前还没有能力打断这个,应该加个参数报错后跳转到出错页面,还有一个就是弹窗内的错误最外围的 ErrorLogger 无法捕获到。组件还需要增加功能跟优化,感谢提交 Issue
明白了,谢谢大家解答