【发布时间】:2020-01-28 23:31:26
【问题描述】:
我在我的 react 应用程序中使用 Router 组件在单击导航栏时显示不同的组件。但是,当我单击导航栏中的链接时,地址会显示路径,但是当路径等于该地址时我调用的组件现在显示在页面中。
这是我的 App.js
import React, { Component } from "react";
import ReactDOM from "react-dom";
import { Route, BrowserRouter as Router, Switch } from "react-router-dom";
import NavBar from "./Components/navBar";
import Header from "./Components/ddrHeader";
import Home from "./Components/home";
import Plan from "./Components/plan";
import Waiting from "./Components/waiting";
import "./App.css";
class App extends Component {
render() {
return (
<Router>
<React.Fragment>
<NavBar />
<Switch>
<Route exact path="/" Component={Home} />
<Route path="/ddr" Component={Header} />
<Route path="/plan" Component={Plan} />
<Route path="/waiting" Component={Waiting} />
</Switch>
</React.Fragment>
</Router>
);
}
}
export default App;
这是我的 index.js
import React, { Component } from "react";
import ReactDOM from "react-dom";
import { BrowserRouter as Router } from "react-router-dom";
import * as serviceWorker from "./serviceWorker";
// import DDR from './Components/ddr';
import App from "./App";
ReactDOM.render(
<Router>
<App />
</Router>,
document.getElementById("root")
);
serviceWorker.register();
import React, { Component } from "react";
import { Link, BrowserRouter as Router } from "react-router-dom";
import "bootstrap/dist/css/bootstrap.css";
class NavBar extends Component {
render() {
return (
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<ul class="navbar-nav">
<li class="nav-item active">
<Link className="nav-link" to="/">
Home<span class="sr-only">(current)</span>
</Link>
</li>
<li class="nav-item">
<Link className="nav-link" to="/ddr">
DDR
</Link>
</li>
<li class="nav-item">
<Link className="nav-link" to="/plan">
Plan
</Link>
</li>
<li class="nav-item">
<Link className="nav-link" to="/waiting">
Waiting
</Link>
</li>
</ul>
</nav>
);
}
}
export default NavBar;
【问题讨论】:
-
在
Navbar中再次使用Router的任何原因。它已经在 app.js 的路由器内部了! -
@Panther,只是一个错误。我省略了导航栏中的那个。但问题存在。
-
你能用codesandbox.io设置你的项目吗?
-
@jdn ,这是一个快速示例:codesandbox.io/embed/react-router-sample-3prg3