create-react-app React错误UI显示方式不同

x33g5p2x  于 5个月前  发布在  React
关注(0)|答案(7)|浏览(74)

我看到我们最近更新到了v5.0.0,react-error-overlay有一些变化。我们能回退到旧版本吗?
这个新版本信息更少,功能更少,而且阅读起来更困难。发生了什么事?
新的——更糟糕的UI:

旧的——更好的UI:

wbrvyc0a

wbrvyc0a1#

这是一个更好的错误信息,可以关闭,所以我不明白为什么它应该改回去?

1wnzp6jl

1wnzp6jl2#

@RichardLindhout 这是一个非常主观的分析,而且初始示例是有偏见的。
客观地说,这里是两个并排的(使用原始分辨率的CRA示例,两个图像):

首先,“可以关闭”完全无关紧要,因为它是一个构建错误,其次,唯一客观的区别是新覆盖层上的额外堆栈跟踪,这在构建错误的情况下可能并不重要。关键在于哪个UI对开发者来说更具有视觉吸引力,这是不值得争论的。
值得争论的是新的错误覆盖层不报告运行时错误。这是一个巨大的区别,除非新的UI实现了这一点,否则旧的UI在客观上是优越的。
对于运行时错误,新的覆盖层是一个空白屏幕,未报告,迫使开发人员依赖控制台输出,而旧的覆盖层有错误消息、堆栈跟踪(可点击,带你到你的IDE中的文件和行),并且(因为它是一个运行时错误)覆盖层是可关闭的:
新覆盖层在运行时错误场景中(由于没有覆盖层,因此提供了控制台输出):

旧覆盖层在运行时错误场景中:

我同意@xnukernel(尽管出于不同的原因)的观点,即新的覆盖层还不足以取代旧的覆盖层。

lx0bsm1f

lx0bsm1f3#

好的,@obsius!我很喜欢这个关闭按钮,而且在我的案例中,一些错误更容易理解。

gpfsuwkq

gpfsuwkq4#

@RichardLindhout 没关系。我只是不希望这张票被轻易地驳回和关闭,在新的覆盖层的所有更改都得到证明之前。在我看来,新的覆盖层视觉上还可以(尽管我稍微更喜欢旧的较小的文本),但功能上应该与旧的一样。也许我漏掉了什么,但我拉出了库存CRAv5,没有在屏幕上看到运行时错误,这对我来说是一个很大的退步。
虽然这是一个小不便,但开发者现在需要弹出并向webpack和开发服务器配置文件添加/更改几行代码才能恢复运行时错误。

t5fffqht

t5fffqht5#

我们决定看看是否能与webpack团队/社区联合起来,确定一个很棒的错误覆盖层。CRA v5不使用CRA错误覆盖层(因此它不需要自定义热客户端等)。
WDS仓库上有一个开放的票据,收集关于覆盖层的改进意见。
(目前我们保留代码和包,但在某个时候可能会被移除)
让我们开始吧 webpack/webpack-dev-server#3689 ⭐ 欢迎任何改进意见

bejyjqdl

bejyjqdl6#

值得争论的是,新的错误覆盖层不报告运行时错误。这是一个巨大的区别,除非新的UI实现了这个功能,否则旧的UI客观上是优越的。

完全同意200%。

我在学习React的过程中遇到了这个问题,这对我来说似乎是个不幸的变化。我是不是漏掉了什么?在一些教程中看到的全屏错误信息比我在全新的create-react-app应用中看到的空白屏幕要好得多......有没有什么简单的方法可以恢复旧的行为,还是说这只是在变化中,会像这样“出问题”,直到完成?
作为React的新手,这似乎是一个巨大的倒退(只是得到了一个空白屏幕)。

dly7yett

dly7yett7#

早上好,@xnukernel,这个问题有任何更新吗?如果没有活动,可以在将来关闭并重新打开。谢谢。

相关问题