【问题标题】:React JS, stop errors displaying in productionReact JS,停止在生产中显示错误
【发布时间】:2018-04-03 15:52:16
【问题描述】:

所以最近我们在线推出了我们的第一个 React JS 应用程序。但是,当人们打开站点,然后移动到不同的选项卡并关闭他们的计算机时,当他们返回时会显示一条错误消息。这是他们看到的(不是这个确切的图像,而是相同的想法):

一旦用户刷新页面,它再次完美运行......

我想知道两件事:

1)有没有办法隐藏这些错误?

2) 有没有一种好方法可以在页面出现时/如果出现刷新页面?

【问题讨论】:

  • 您正在使用开发版本,它显示错误页面的原因

标签: javascript node.js reactjs error-handling


【解决方案1】:

您正在使用开发版本。来自create-react-app docs(我假设它是create-react-app):

当您准备好部署到生产环境时,创建一个缩小的捆绑包 npm run build

但是未捕获的错误会导致整个树被卸载所以我建议使用componentDidCatch hook.

【讨论】:

    【解决方案2】:

    您应该在App 组件上方创建一个error boundary,并在下面将其命名为Wrapper

    class Wrapper extends React.Component {
      componentDidCatch(error, info) {
        // Do something useful with error like logging to error reporting system
        // then force reload (if that's what you want):
        window.location.reload(true);
      }
      render() {
        return (<App/>)
      }
    }

    【讨论】:

    • 这将如何应用于这样的事情(在我的 index.js 文件中): ReactDOM.render(, document.getElementById('root') );
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2020-12-30
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-12
    • 1970-01-01
    相关资源
    最近更新 更多