【发布时间】:2017-01-10 16:22:54
【问题描述】:
我正在为我的 React 应用程序使用服务器端渲染,但我无法理解在出现问题时显示错误页面的逻辑。
例如:
- 用户请求
/article/123 - 获取文章时出现问题
- 我想显示一个
500错误页面
服务器端部分很简单。我告诉 React-Router 为我的错误组件提供服务。到目前为止一切顺利。
但是当页面被提供时,客户端的 javascript 会被执行并接管渲染。 React-Router 查看 url /article/123 并加载显示文章的组件(但由于数据不存在而失败..)
有没有办法让客户端知道我们想要显示错误组件?
我能想到的唯一想法是:将错误添加到全局 redux 状态。在渲染组件之前,检查全局状态中是否存在错误并显示错误组件。但是这样做的缺点是您必须在所有组件中实现该检查逻辑。应该有一些更优雅的方法来解决这个问题..
【问题讨论】:
标签: reactjs error-handling react-router isomorphic-javascript