【问题标题】:React Router. How to prevent crashing whole app when have any error on of the container(page)反应路由器。当容器(页面)出现任何错误时如何防止整个应用程序崩溃
【发布时间】:2017-09-15 09:46:49
【问题描述】:

我有这样的代码

Simple code example

例如,如果关于页面有语法错误整个应用程序崩溃。

  1. 如何处理这种情况?
  2. 路由必须在单独的(配置)文件中,否则在 index.js 文件中就可以了
  3. 在真正的大环境中使用 React Router 的最佳实践是什么 使用 browserHistory 的项目?可能是 git repo 上的一些模板或示例。

【问题讨论】:

  • 你可以edit你的问题是(1)修复最初链接的code-sn-p,(2)添加你认为必要的任何额外信息,而不是使用cmets。
  • 明确表示您不应该能够构建内部有语法错误的应用程序。在这种情况下,我建议查看应用交付工作流程。
  • @ArkadyB 这只是一个例子。 С可能是您没有想到的任何错误,但它不应该破坏整个应用程序

标签: javascript reactjs react-router react-redux jsx


【解决方案1】:

考虑使用您定义的 ErrorBoundary 组件来包含错误并显示友好的错误消息。如果您使用 React 16,这是推荐的方式:https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html

<ErrorBoundary>
  <MyComponent/>
</ErrorBoundary>

查看 Dan Abramov 的演示:https://codepen.io/gaearon/pen/wqvxGa?editors=0010

这种方法的优点是您可以选择组件层次结构的哪些层级您希望错误冒泡。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多