【发布时间】:2018-10-23 13:33:09
【问题描述】:
假设我在 Switch 中定义了以下路由:
<Switch>
<Route path='/:pageId' component={Template} />
<Switch>
在模板中,我将 :pageId 传递给 API,它会返回该页面的内容。这一切都很好,但是如果我传递一个不存在的 :pageId 值,应用程序就会崩溃(就像我没有带有 slug“联系人”的页面)。
在这种情况下如何让它重定向到 404 页面以避免应用崩溃?
提前致谢。
【问题讨论】:
-
您的应用在到达该路由并查询您的 API 之前不会知道 pageId 值是否存在。在这种情况下,我发现最好在服务器返回后在模板组件中的某处简单地呈现“找不到页面”。
-
谢谢,是的,这就是我要做的,在模板组件上设置一个条件以加载 API 返回的内容,或者如果返回 null/undefined 则重定向到 404 页面。跨度>
标签: reactjs react-router react-router-v4 react-router-dom