Gan*_*ank 11 javascript reactjs electron
在Windows上反应电子,如果A
为null,则调用A.test
将使应用程序停止工作,然后用户必须关闭应用程序并重新启动它.如何让react
忽略错误,并继续工作.代码有很多A.test
,我无处可写if(A) A.test
.如果无法解决此问题,我可以在Web视图上打印错误吗?所以我没有远程访问用户的计算机来查看控制台错误.
注意
我认为解决方案是使用反应错误边界,如控制台中所建议的那样.
您已经指出您正在使用错误边界,因此在使用此小提琴测试您的方案后,我认为您的实现可能不正确.
鉴于ErrorBoundary
文档中的类似实现:
class ErrorBoundary extends React.Component {
state = { hasError: '' };
render() {
return this.state.hasError ? (
<span>Oops! Something went wrong:<br />{this.state.hasError}</span>
) : this.props.children;
}
}
ErrorBoundary.getDerivedStateFromError = (error) => ({ hasError: error.toString() });
Run Code Online (Sandbox Code Playgroud)
该组件将呈现回落时,其任何的孩子打破.
错误边界是React组件,它们在其子组件树中的任何位置捕获JavaScript错误,记录这些错误并显示回退UI
它看起来类似于:
<MyReactApp>
<ErrorBoundary>
<ChatContent />
</ErrorBoundary>
</MyReactApp>
Run Code Online (Sandbox Code Playgroud)
现在任何错误ChatContent
都会被抓住,ErrorBoundary
让你有机会渲染回退,如:
Oops! Something went wrong:
ReferenceError: test is not defined
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
672 次 |
最近记录: |