React Router 4 - 如果输入了损坏的 link 则路由到默认组件
React Router 4 - Route to a default component if a broken link has entered
我正在研究 React Router 4。我有一些组件,例如 home, page1.., and page404
。如果输入了损坏的 link,我想重定向到 page404
。
<Router>
<AppContainer>
<Route exact path={HOME_URL} component={Home}/>
<Route path={SEARCH_RESULTS_URL} component={SearchResults}/>
<Route path={PAGE_404} component={Page404}/>
</AppContainer>
</Router>
谁能推荐一个方法。
文档似乎表明您必须将其包装在 <Switch>
:
<Switch>
<Route exact path={HOME_URL} component={Home}/>
<Route path={SEARCH_RESULTS_URL} component={SearchResults}/>
<Route component={PAGE_404}/>
</Switch>
开关是这样工作的,你给它一个带有渲染组件的路由到最后,在我的例子中,我只是 return 编辑了一个段落。因此,如果用户转到您定义的 404 页面以外的 URL,将 return
<Router>
<Switch>
<Route exact path='/' component={Home}/>
<Route exact path='/about' component={About}/>
<Route path='/about/results' component={Results}/>
<Route path='/popular' component={Popular}/>
<Route render={function () {
return <p> 404 Page </p>
}} />
</Switch>
</Router>
如果最后没有与此路径匹配,则捕获路由:
<Route component={page404} />
const routes = (
<BrowserRouter>
<Switch>
<Route path="/home" component={Home/>
<Route path="/about" component={About}/>
<Route path="*" component={NotFound}/>
</Switch>
</BrowserRouter>
);
我正在研究 React Router 4。我有一些组件,例如 home, page1.., and page404
。如果输入了损坏的 link,我想重定向到 page404
。
<Router>
<AppContainer>
<Route exact path={HOME_URL} component={Home}/>
<Route path={SEARCH_RESULTS_URL} component={SearchResults}/>
<Route path={PAGE_404} component={Page404}/>
</AppContainer>
</Router>
谁能推荐一个方法。
文档似乎表明您必须将其包装在 <Switch>
:
<Switch>
<Route exact path={HOME_URL} component={Home}/>
<Route path={SEARCH_RESULTS_URL} component={SearchResults}/>
<Route component={PAGE_404}/>
</Switch>
开关是这样工作的,你给它一个带有渲染组件的路由到最后,在我的例子中,我只是 return 编辑了一个段落。因此,如果用户转到您定义的 404 页面以外的 URL,将 return
<Router>
<Switch>
<Route exact path='/' component={Home}/>
<Route exact path='/about' component={About}/>
<Route path='/about/results' component={Results}/>
<Route path='/popular' component={Popular}/>
<Route render={function () {
return <p> 404 Page </p>
}} />
</Switch>
</Router>
如果最后没有与此路径匹配,则捕获路由:
<Route component={page404} />
const routes = (
<BrowserRouter>
<Switch>
<Route path="/home" component={Home/>
<Route path="/about" component={About}/>
<Route path="*" component={NotFound}/>
</Switch>
</BrowserRouter>
);