简体   繁体   English

使用路由器时反应页面不会自动刷新

[英]React page not refreshing automatically when using Router

I've been working on my first React project and used react-router to navigate to different pages.我一直在处理我的第一个 React 项目,并使用 react-router 导航到不同的页面。 Although I have reached the functionality, I have found that I have to manually refresh the page (using F5) whenever I press the link (for eg. About or Shop in the following code) to load the content.虽然我已经实现了功能,但我发现每当我按下链接(例如,以下代码中的 About 或 Shop)以加载内容时,我都必须手动刷新页面(使用 F5)。

Here's my Code这是我的代码

App.js应用程序.js

import React from "react";
import Nav from "./Nav";
import Shop from "./Shop";
import About from "./About";
import Home from "./Home";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import "../App.css";

function App() {
    return (
        <Router>
            <div className="App">
                <Nav />
                <Switch>
                    <Route path="/" exact component={Home} />
                    <Route path="/about" component={About} />
                    <Route path="/shop" component={Shop} />
                </Switch>
            </div>
        </Router>
    );
}

export default App;

Nav.js导航.js

import React from "react";
import { BrowserRouter as Router, Link } from "react-router-dom";
import "../App.css";

function Nav() {
  return (
    <nav>
      <h3>Adifier</h3>
      <ul className="nav-links">
        <Router>
          <Link to="/about">
            <li>About</li>
          </Link>
          <Link to="/shop">
            <li>Shop</li>
          </Link>
        </Router>
      </ul>
    </nav>
  );
}

export default Nav;

About.js关于.js

import React from "react";

function About() {
  return (
    <div className="App">
      <h1>About Page</h1>
    </div>
  );
}

export default About;

Shop.js Shop.js

import React from "react";

function Shop() {
  return (
    <div className="App">
      <h1>Shop Page</h1>
    </div>
  );
}

export default Shop;导出默认店铺;

Thanks in advance提前致谢

Remove Router from Nav.js.从 Nav.js 中删除路由器。 It has already served its purpose when you defined routes in app.js当你在 app.js 中定义路由时,它已经达到了它的目的

  <ul className="nav-links">
      <Link to="/about">
        <li>About</li>
      </Link>
      <Link to="/shop">
        <li>Shop</li>
      </Link>
  </ul>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM