Javascript 类组件中的ReactJs嵌套路由开关
我有两个部分, 应用程序和仪表板 应用程序组件是主要组件,在应用程序内部,有一个到仪表板组件的开关 我需要嵌套的路由,在仪表板组件内部,我需要有“/Dashboard/blogs”,在其中切换blogs组件。 我在这里分享这两个部分Javascript 类组件中的ReactJs嵌套路由开关,javascript,reactjs,react-router,react-router-dom,Javascript,Reactjs,React Router,React Router Dom,我有两个部分, 应用程序和仪表板 应用程序组件是主要组件,在应用程序内部,有一个到仪表板组件的开关 我需要嵌套的路由,在仪表板组件内部,我需要有“/Dashboard/blogs”,在其中切换blogs组件。 我在这里分享这两个部分 import React, { Component } from "react"; import {BrowserRouter as Router, Route, Switch} from "react-router-dom"
import React, { Component } from "react";
import {BrowserRouter as Router, Route, Switch} from "react-router-dom";
import Signup from "./pages/Signup";
import Login from "./pages/Login";
import Home from "./pages/Home";
import Dashboard from "./dashboard/Dashboard";
class App extends Component {
render() {
return (
<div id="content-wrapper">
<Router>
<Switch>
<Route exact path="/signup" component={Signup}/>
<Route exact path="/login" component={Login}/>
<Route exact path="/" component={Home}/>
<Route exact path="/dashboard" component={Dashboard}/>
</Switch>
</Router>
</div>
);
}
}
export default App;
import React,{Component}来自“React”;
从“react Router dom”导入{BrowserRouter as Router,Route,Switch};
从“/pages/Signup”导入注册;
从“/pages/Login”导入登录名;
从“/pages/Home”导入主页;
从“/Dashboard/Dashboard”导入仪表板;
类应用程序扩展组件{
render(){
返回(
);
}
}
导出默认应用程序;
import React,{Component}来自'React';
从“/Navbar”导入导航栏;
从“/SideBar”导入侧栏;
导入“./脚本/仪表板”;
从“/components/BlogList”导入{BlogList};
从“react Router dom”导入{BrowserRouter as Router,Route,Switch};
从“/components/DashBoardHome”导入{DashBoardHome};
类仪表板扩展组件{
render()
{
返回(
//这不管用吗?
)
}
}
导出默认仪表板;
提前谢谢 问题在于
exact
关键字
<Route exact path="/dashboard" component={Dashboard}/>
使用此代码段,您基本上会说,仅当URL地址正好为“../Dashboard”时,才应呈现仪表板组件
通过这个代码片段,您可以说,BlogList
组件应该仅在URL正好为“../dashboard/blogs/”时才呈现,但它是在dashboard
组件内部呈现的,因为URL不是“../dashboard”
从
中删除exact
关键字应该可以修复您的代码
<Route exact path="/dashboard" component={Dashboard}/>
<Route path={`${this.props.match.url}/blogs`} exact={true} component={BlogList} />