reactjs - 反应路由器未显示“未找到”页面
问题描述
我似乎无法让我的 NotFound 组件呈现。每当我在 url 中输入一些随机字符(例如:'localhost:3000/asdfasdfasdfasdf')时,浏览器实际上会指向我的主题组件,没有内容。
这是我设置路线的方式:
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
render(){
return (
<div className="App">
<Router>
<NavBar />
<Switch>
<Route exact path='/' component={HomepageLayout} />
<Route exact path='/:topic' component={Topic} />
<Route path='*' component={NotFound} />
</Switch>
</Router>
</div>
);
}
export default App;
正如一些人建议的那样,我也尝试过不指定路径,但这也不起作用:
<Route component={NotFound} />
有任何想法吗?
解决方案
正如您在第二条路线中提到的那样,这将不起作用,因为任何值都可以作为 /:topic 保存,当您像这样添加时,将显示此路线。因为,任何以冒号开头的段都将被视为参数。所以无论如何*路线都不会显示!
推荐阅读
- azure - 通过传递凭据来验证 ARM 模板
- php - 如何从带有 div 的列表中提取以“http://”开头并以“.swf”结尾的链接?
- python - 这两个张量流变量(或张量)有什么区别:kernel:0 和 kernel/Adam:0
- python - 如何识别字符串中的最后一个整数值
- java - 自定义图像处理(识别对象并为其着色)
- android - FirebaseJobDispatcher onStopJob 未触发
- swift - 在 tvOS 上居中 UICollectionView 重点行
- asp.net-mvc - 想要使用子剑道网格将图像上传到父剑道
- c# - 如何编写控制器以将图像 Web 路径存储在数据库中
- ms-access - 将记录显示为列,将字段显示为行。