前几天升级cra到5.0.1,官方添加了有一个react-error-overlay的包,功能就是捕获浏览器的js报错,并给你一个遮罩层提示。。
然后你不得不改很多错误,这些错误很多是不影响使用的,不会导致应用崩溃的错误。
比如axios的报错。。
我第二个解决碰到的就是这个ResizeObserver的报错。
这个报错发生在antd的table组件上。似乎是设置了scroll属性后就会出现这个问题,我网上查了一下ResizeObserver loop limit exceeded 这个报错的原因似乎是因为浏览器在一帧内无法处理所有重绘,所以这个报错是不影响正常使用的,不会引起应用的崩溃。
查了antd的issue,发现这个问题还是一直存在的。
似乎有用户说升到react18.就能解决问题,不过,我现在刚升级了cra,暂时不会升级其他依赖,避免出现很多问题。。。
所以最后我得到的解决方案是,忽略这个报错,
我的看法是,程序只要没崩溃,就不要跟我报错,特别是这个overlay插件,直接挡住整个屏幕,但是报错是组件内产生了,我又没法解决,很影响我正常开发
所以在报错组件里面,添加隐藏这个浮层的样式
:global{
//antd组件内 ResizeObserver loop limit exceeded报错隐藏
#webpack-dev-server-client-overlay {
display: none !important;
}
}
网友评论