reactjs - 反应路由器和链接都指向同一页面?
问题描述
我拉扯我的头发试图弄清楚为什么反应链接列表只是加载错误页面。有人可以建议吗?它几乎是之前完美运行的项目的直接副本。
路由器设置
function App() {
return (
<Router>
<Switch>
<Route exact path = '/'>
<Home />
</Route>
<Route path = "*">
<Error />
</Route>
<Route path = '/about'>
<About />
</Route>
<Route path = '/contact'>
<Contact />
</Route>
<Route path = '/deckbuilder'>
<DeckBuilder />
</Route>
</Switch>
</Router>
)
}
export default App;
主页上的链接
export const Home = () => {
return (
<div>
<h1> Home Page </h1>
<Link to = '/contact'>
Contact
</Link>
<Link to = '/about'>
about
</Link>
<Link to = '*'>
Error
</Link>
<Link to = '/deckbuilder'>
Deck
</Link>
</div>
)
}
解决方案
您应该像这样使用反应路由器并最后放置错误组件,这是正确的语法:
<Switch>
<Route exact path='/' component={Landing} />
<Route exact path='/sign' component={Sign} />
<Route exact path='/login' component={Dashboard} />
<Route component={GenericNotFound} />
</Switch>
推荐阅读
- xslt - 来自外部文档的 XSLT 副本
- python - 调用 cuInit CUDA_ERROR_NOT_INITIALIZED 失败(设备映射:没有已知设备)Tensorflow-gpu 1.2.1
- javascript - 使用 Google 登录按钮退出网站
- c# - 如何在 Web 应用程序中读取另一个驱动器上的目录中的文件列表?
- python-3.x - 如何通过在没有循环的每一行上使用函数来创建新的 numpy 数组
- java - 为什么删除根节点会保留左子树而不保留我的右子树?
- vue.js - Vue从服务器接收数据
- html - 键盘 TAB 选择不可见
- docker - 更新 docker(18.09.0) 会导致错误
- swagger - 是否可以在 swagger 中使用整个原始字符串作为参数