问题标签 [react-error-boundary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 在 ReactJS 中刷新页面时出现 HTTPS 错误
在此处输入图像描述我们已经在 ReactJs 中开发了我们的前端。刷新网站的任何页面后,网站显示 HTTPS 错误。
可能的错误是什么以及如何解决?
reactjs - React ErrorBoundary - 如何在另一个路由组件出错时路由到组件/主页
我试图弄清楚/
如果我在另一个带有 route 的页面中出现错误,如何定向到我的主页/results
。我能够使用包含在我的组件中的 ErrorBoundary 重定向到我的主页,但路由没有改变,并且立即恢复到相同的错误。(我基本上是想在出现错误时显示主页)
我尝试react-router-dom
在 ErrorBoundary 组件中使用并渲染函数,如下所示:
但是再次出现错误,路线保持不变/results
(并且主页没有使用 route 呈现/
。为什么会发生这种情况?任何人都可以帮助理解原因。谢谢。
javascript - 如何测试 ErrorBoundary 的后备组件?
我有这个组件:
我正在尝试测试传入不存在的 SVG 的条件,进而呈现<ErrorBoundary />
回退。ErrorBoundary 在浏览器中有效,但在我的测试中无效。
这是失败的测试:
我收到此错误消息:
TestingLibraryElementError:无法通过以下方式找到元素:[data-testid="icon-notdef"]”。
如何在我的测试中访问 ErrorBoundary 后备 UI?
编辑
这是<ErrorBoundary />
组件的代码:
…这是我在测试中得到的 DOM 的完整错误:
最后,我的 SVG 模拟:
reactjs - 如何使用 Typescript 在 React 错误边界中允许后备道具?
我的应用程序顶部有一个错误边界。它可以工作,我可以将自定义组件作为后备传递给它。但是,Typescript 声称:
'Readonly<{}> & Readonly<{ children?: ReactNode; 类型上不存在属性'fallback' }>' (errorboundary.js)
然后
没有重载匹配此调用。(索引.tsx)
如何解决这个问题?
请注意,我没有使用 react-error-boundary 库。本机错误边界类应该可以完成这项工作。
编辑:完整的工作代码:
reactjs - ErrorBoundary 组件堆栈不显示我的组件的名称。为什么以及如何解决?
请查看下面出现错误后我得到的组件堆栈。我自己的组件写为“未知”。像我在 fluentui 中使用的其他组件以它们的名称显示,例如“堆栈”。为了能够了解问题的根源,我需要查看那些“未知”的真实姓名。我怎样才能做到这一点?
如果需要,我将提供更多信息。这是我可能从 React 文档中复制的 ErrorBoundary 组件(这个副项目一直在进行中)。
我用它来包装我的应用程序:
这是组件声明的示例。我通常使用功能组件和反应钩子:
reactjs - 如何使用“重试”按钮让 React 错误边界重置状态?
我的 Pokemon 应用程序正在使用以下库:React Hook Form、React Query 和 React Error Boundary。
当没有发出请求时,它应该呈现No Pokemon Yet, Please Submit a Pokemon.
当发生错误时,Try Again
将呈现一个按钮来代替No Pokemon Yet, Please Submit a Pokemon
. Try Again
单击按钮时,No Pokemon Yet, Please Submit a Pokemon
将再次显示并重置搜索输入,用户再次能够进行查询。
但是,我的实现不起作用。最初,No Pokemon Yet, Please Submit a Pokemon
在用户提交查询之前不呈现。此外,当我键入没有任何匹配项的查询时,错误边界不会触发以告诉用户发生了什么并允许他们在单击Try Again
按钮后重新提交查询。DevTools Network 选项卡给了我一个 404。
React Error Boundary 只会在img
fromPokemonInfo
未注释时触发。它呈现Cannot read property 'front_default' of undefined
.
请让我知道我做错了什么。
reactjs - 如何从错误边界恢复中重置 React 状态?
我的应用程序让用户输入查询以向 Pokemon API 发出请求,并呈现响应数据。
如果用户输入了数据库中不存在的查询,它将触发错误边界和一个Try Again
按钮,通过重置查询状态并让用户重新提交不同的查询来从错误中恢复。这是预期的行为。
但是,使用我当前的设置,当用户的查询没有任何匹配项时,控制台将显示GET https://pokeapi.co/api/v2/pokemon/foo 404
and Uncaught (in promise) Error: Request failed with status code 404
。但是,用户没有看到此错误。没有什么可以告诉用户他们的查询没有任何匹配项。我的目标是获得更明确的用户体验,告诉用户他们提交的请求没有任何匹配项,然后单击Try Again
按钮重置输入并提交新查询。我相信,这就是错误边界应该做的。
我正在使用以下库:React Query, React Hook Form, React Error Boundary
. 有人建议我使用 React Query 的onError
回调来记录错误并设置属性useErrorBoundary: true
。仍然没有运气。
这是一个演示预期行为的工作示例。https://epic-react-exercises.vercel.app/react/hooks/3
这是我的尝试。请让我知道如何解决这个问题。https://codesandbox.io/s/pokedex-5j1jf
reactjs - 我可以使用错误边界组件从 React 中的 API 获取数据吗?
我正在使用支持错误边界的 React 16.3,我想从 API 获取数据,但我不知道在这种情况下是否可以使用错误边界。而且我不知道在这种情况下使用 catch 更好还是使用错误边界。这是一个大的 json 数据,包括图像、价格项目、项目文本以及所有这些我对 React 很陌生的东西,所以提前感谢。
javascript - React 中的错误边界没有按预期工作
我曾经通过将它包裹在可能引发错误的组件周围react-error-boundary
来实现<ErrorBoundary>
这个想法是,当我们error
在输入字段中键入时,Form
组件应该抛出一个错误,并且错误边界应该捕获它并显示一个带有重试按钮的 UI
但是,如果我error
在输入字段中输入,应用程序仍然会崩溃。看看这个截图。
只有点击x
关闭后,您才能看到错误边界正在工作,并且您可以点击重试按钮。但我认为错误边界会阻止它崩溃。我是不是实现错了,或者这是 React 中错误边界的预期行为?
现场演示:https ://codesandbox.io/s/error-boundary-bz2ir?file=/src/App.js