反应路由器。如果RouteHandler抛出异常,请返回

时间:2015-09-23 02:12:47

标签: javascript reactjs react-router

我想知道如果我们尝试转换到的那个无法渲染,如何正确地返回/回退到上一个路线?

我有一个用例,其中包含应该在呈现页面之前获取的数据(RouteHandler),但如果由于API上的异常而无法呈现该数据。

Just a simple example,如果我们在 RouteHandler 的任何呈现函数中添加throw new Error('demo error')并导航到它,我们会得到:

Uncaught TypeError: Cannot read property '_currentElement' of null

然后,如果你试图转到其他路线,即使它没有例外也不会渲染。它会破坏一切,因为它无法卸载从未渲染/挂载的内容,并再次出现相同的Cannot read property '_currentElement' of null异常。是在try-catch和return false中包装所有 render 函数的最佳解决方案吗?

0 个答案:

没有答案