我在异常处理方面遇到问题react-router@3.0.0
我的路由器是这样连接的:
try {
ReactDOM.render(<Router history={appHistory}>
<Route path='/' component={Wrapper}>
<Route path='bad' component={BadComponent}/>
</Route>
</Router>, domElement);
} catch(ex) {
ReactDOM.render(<Exception ex={ex}/>, domElement);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果Wrapper抛出渲染异常,我们最终会进入 catch 块。伟大的!
如果Wrapper工作正常,但BadComponent抛出渲染异常,我们不会。嘘!
如果我们到达这一点,那么路由器完全停止工作,我们无法导航到任何已知的良好路线。
React-router API 没有提到错误处理,所以我有点卡住了。
有没有办法将异常返回到顶层,以便它可以优雅地失败?