[英]Express Router: I'm having an issue getting my routes to work, the page doesn't load
[英]I am having an issue with react router as my url is getting updated on clicking on it but the page is not getting rendered
我的反应路由器有问题,因为我的 url 在点击它时得到更新,但页面没有被渲染,但是当我在那个特定的 url 上重新加载它时,它会呈现内容,而我希望它在我之后立即呈现点击链接
这是我的 App.js
import React from 'react';
import Nav from './Nav';
import { BrowserRouter as Router ,Switch, Route} from 'react-router-dom';
import About from './About'
function App() {
return (
<>
<Router>
<Nav/>
<Switch>
<Route exact path='/about' render={About} />
</Switch>
</Router>
</>
);
}
export default App;
这是我的 Nav.js
import React from "react";
import {BrowserRouter as Router , Link } from "react-router-dom";
import './App.css';
function Nav(){
return(
<Router>
<nav>
logo
<Link to="/about">
About
</Link>
<Link to='/shop'>
shop
</Link>
</nav>
</Router>
)
}
export default Nav
这是我的 About.js
import React from "react";
function About(){
return(
<div>
About Page
</div>
)
}
export default About
您应该使用BrowserRouter
包装App
组件,或者使用接受历史道具的Router
组件包装App
组件。
索引.js
import { BrowserRouter } from 'react-router-dom'
ReactDOM.render(<BrowserRouter>
<App />
</BrowserRouter>,document.getElementById("root"));
应用程序.js
import React from 'react';
import Nav from './Nav';
import { BrowserRouter as Router ,Switch, Route} from 'react-router-dom';
import About from './About'
function App() {
return (
<>
<Nav/>
<Switch>
<Route exact path='/about'>
<About/>
</Route>
</Switch>
</>
);
}
export default App;
导航.js
import React from "react";
import {BrowserRouter as Router , Link } from "react-router-dom";
import './App.css';
function Nav(){
return(
<nav>
logo
<Link to="/about">
About
</Link>
<Link to='/shop'>
shop
</Link>
</nav>
)
}
export default Nav
由于Nav.js和其他使用Routes
组件被包装在 app 组件中,app 组件被进一步包装在index.js 的BrowserRouter
中,因此您不需要在每个具有Route
或Link
组件的组件中包含Router
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.