Reactjs 反应路由器不显示';未找到';页
我似乎无法让我的NotFound组件进行渲染。每当我在url中键入一些随机字符(例如:“localhost:3000/asdfasdfasdf”),浏览器实际上会指向我的主题组件,而不包含任何内容 以下是我如何设置路线的:Reactjs 反应路由器不显示';未找到';页,reactjs,react-router,react-router-dom,Reactjs,React Router,React Router Dom,我似乎无法让我的NotFound组件进行渲染。每当我在url中键入一些随机字符(例如:“localhost:3000/asdfasdfasdf”),浏览器实际上会指向我的主题组件,而不包含任何内容 以下是我如何设置路线的: import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; render(){ return ( <div className="App">
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;
从'react Router dom'导入{BrowserRouter as Router,Route,Switch};
render(){
返回(
);
}
导出默认应用程序;
正如一些人建议的那样,我也尝试过不指定路径,但这也不起作用:
<Route component={NotFound} />
有什么想法吗?这不会像您在第二条路线中提到的那样起作用,因为任何值都可以作为/:topic保存,当您这样添加时,将显示此路线。因为,任何以冒号开头的段都将被视为参数。因此,*路线在任何情况下都不会显示 这不会像您在第二个路由中提到的那样起作用,因为任何值都可以作为/:topic保存,当您这样添加时,将显示此路由。因为,任何以冒号开头的段都将被视为参数。因此,*路线在任何情况下都不会显示 这回答了你的问题吗?添加complete代码app.js。我会将你的/:topic路由修改为/topic/:topic,然后它会按预期工作。谢谢,明白了。这回答了你的问题吗?添加complete代码app.js。我会将你的/:topic路由修改为/topic/:topic,然后它应该能正常工作。谢谢,明白了。