这个问题在这里已有答案:
我想实现这个(V3)
<Router>
<Route path="/" component={App}/>
<Route path="*" component={Whoops404}/>
</Router>
使用react-router-dom的反应路由器的V4但我无法做到这一点,当我尝试这个
<BrowserRouter>
<div>
<Route path="/" component={App}/>
<Route path="*" component={Whoops404}/>
</div>
</BrowserRouter>
它会渲染块中的所有路径 . 我做错了吗?
编辑
谢谢各位 . 我已经使用Switch组件包装了路由,并且工作正常但是当我导航到 localhost:3000/jjj
或其他路由时, http://localhost:3000/
组件仍然显示 .
2 回答
似乎“/”路线包含在“*”中 .
尝试:
要渲染/而不是下面的其他内容,以防您尝试仅渲染“/”并获得此副作用 .
(编辑:在这里包含commment :)如果没有解决,尝试使用Switch只渲染单个路由:
您需要使用Switch组件包装路由 . 所以它可以匹配其中一条路线 . 你也可以省略'path =“*” .