React router link没有渲染到组件



你好,我已经做了一切,但我不知道为什么它仍然不工作。我使用react和router的最新版本。仍然无法打开我的联系人页面。我已经尝试了所有的方法来解决它,但还是做不到。你好,我已经做了一切,但我不知道为什么它仍然不工作。我使用react和router的最新版本。仍然无法打开我的联系人页面。我已经尝试了所有的方法来解决它,但还是做不到。

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import 'bootstrap/dist/css/bootstrap.min.css';
import New from './components/Navbar';
import Home from './components/Home';
import About from './components/About';
import Services from './components/Services';
import Name from './components/pages/Name';

import { BrowserRouter as Router, Switch,Route,Link,Routes,Redirect} from "react-router-dom";

const App = () => {

return(

<>
<Router>
<New/>
<Switch>
<Route Path='/' exact component =  {Home} />
<Route Path='/About' exact component  = {About} />
<Route Path='/Services' exact component  = {Services}/>
<Route Path='/Name' exact component  = {Name}/>
<Route Path='/Home' exact component  = {Home}/>


</Switch>
</Router>
</>
)

}
export default App;



Conatct.jsx

import React from 'react'
import 'bootstrap/dist/css/bootstrap.min.css';
import ReactDOM from 'react-dom';


function Contact () {
return (
<>
<h1>contact</h1>

</>
)
}
export default Contact;




Pages / Name.js (i have import Contact here)

import React from 'react';

import Contact from '../Contact'

export default function Name() {
return (
<>
<Contact />
</>
);
}



Navbar.js

import React from 'react';
import './Navbar.css'

import ReactDOM from 'react-dom';
import 'bootstrap/dist/css/bootstrap.min.css';
import 'bootstrap/dist/js/bootstrap.bundle';
import { Button,Container,Navbar,Nav,NavDropdown,NavLink } from 'react-bootstrap';
import {
BrowserRouter as Router, Switch,Route,Link,Routes,Redirect} from "react-router-dom";

const New = () => {


return (
<div>
<div className="container-fluid">
<div className="row">
<div className='col-10 mx-auto'>

<nav className="navbar navbar-expand-lg navbar-light bg-light">
<div className="container-fluid">
<NavLink className="navbar-brand" to="/">Navbar</NavLink>
<button className="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span className="navbar-toggler-icon"></span>
</button>
<div className="collapse navbar-collapse" id="navbarNavDropdown">
<ul className="navbar-nav ms-auto mb-auto mb-lg-2">
<li className="nav-item">
<NavLink className="nav-link active" aria-current="page" to="/">Home</NavLink>
</li>
<li className="nav-item">
<NavLink className="nav-link" to="/Services">Services</NavLink>
</li>
<li className="nav-item">
<NavLink className="nav-link" to="/About">About</NavLink>
</li>
<li className="nav-item">
<NavLink className="nav-link" to="/Contact">Contact</NavLink>
</li>
</ul>
</div>
</div>
</nav>

</div>
</div>
</div>
</div>

);
};

export default New;

首先,只在路由中使用小写,因为浏览器支持小写

第二件事你需要为react-router创建一个link组件,NavLink只是一个UI元素,而不是像rect router那样的有效元素

应该使用

https://reactrouter.com/web/api/Link

最新更新