Javascript React路由器路径变量与其他路径相同,React无法区分差异
我正在为我的项目中的不同链接设置react路由器,但问题是我需要react路由器来区分用户用户名变量和其他路径之间的差异 例如: baseUrl/管理员 baseUrl/丹尼尔 我不知道有什么区别。我将在数据库中有一个用户名列表,如果用户不存在,我将返回一个错误,这意味着该页面不存在 这是我的代码:Javascript React路由器路径变量与其他路径相同,React无法区分差异,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我正在为我的项目中的不同链接设置react路由器,但问题是我需要react路由器来区分用户用户名变量和其他路径之间的差异 例如: baseUrl/管理员 baseUrl/丹尼尔 我不知道有什么区别。我将在数据库中有一个用户名列表,如果用户不存在,我将返回一个错误,这意味着该页面不存在 这是我的代码: class App extends Component{ render(){ return ( <Router> <Route exact
class App extends Component{
render(){
return (
<Router>
<Route exact path="/" render={props => (
<React.Fragment>
<h1>Hey</h1>
</React.Fragment>
)}
/>
<Route exact path="/admin" render={props => (
<React.Fragment>
<h1>admin</h1>
</React.Fragment>
)}
/>
<Route path="/:user" component={UserComponent}
/>
</Router>
);
}
}
类应用程序扩展组件{
render(){
返回(
(
嘿
)}
/>
(
管理
)}
/>
);
}
}
您可以使用match.url属性选择渲染哪个组件,例如:
<Route path="/:user" render={props => {
if(props.match.url === '/admin') {
return (
<React.Fragment>
<h1>Hey</h1>
</React.Fragment>
)
} else return (<UserComponent {...props} />)
}} />
{
如果(props.match.url==='/admin'){
返回(
嘿
)
}否则返回()
}} />