简体   繁体   English

反应路由器 v6 不渲染

[英]React router v6 not rendering

I tried using react router but it doesn't work.我尝试使用反应路由器,但它不起作用。 I already know that React Router Dom v6 has changed from Switch to Routes but when I run the program it just shows a blank screen.我已经知道 React Router Dom v6 已从 Switch 更改为 Routes,但是当我运行该程序时,它只显示一个空白屏幕。 Does anyone know how to fix this?有谁知道如何解决这一问题? Here is my code:这是我的代码:

routerURL.js路由器URL.js

import React, { Component } from "react";
import { BrowserRouter as Route, Router } from "react-router-dom";
import Contact from "../component/Contact";
import Details from "../component/Details";
import Home from "../component/Home";

export default class routerURL extends Component {
  render() {
    return (
      <Router>
        <div>
          <Route exact path="/" element={<Home />}></Route>
          <Route path="/details" element={<Details />}></Route>
          <Route path="/contact" element={<Contact />}></Route>
        </div>
      </Router>
    );
  }
}

App.js应用程序.js

import "./../css/App.css";
import Nav from "./Nav";
import Footer from "./Footer";
import RouterURL from "../router/RouterURL";
function App() {
  return (
    <div>
      <Nav />
      <RouterURL />
      <Footer />
    </div>
  );
}

export default App;

You import BrowswerRouter as Route .您将BrowswerRouter导入为Route You will want to fix the imports, and ensure that your nav/footer are wrapped in a router if they are rendering any links.您将需要修复导入,并确保您的导航/页脚在渲染任何链接时被包裹在路由器中。 The Route components should be wrapped in a Routes component that manages the route matching. Route组件应该包装在管理路由匹配的Routes组件中。

routerURL.js路由器URL.js

import { Routes, Route } from "react-router-dom";
import Contact from "../component/Contact";
import Details from "../component/Details";
import Home from "../component/Home";

export default class routerURL extends Component {
  render() {
    return (
      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/details" element={<Details />} />
        <Route path="/contact" element={<Contact />} />
      </Routes>
    );
  }
}

App.js应用程序.js

import { BrowserRouter as Router } from "react-router-dom";
import "./../css/App.css";
import Nav from "./Nav";
import Footer from "./Footer";
import RouterURL from "../router/RouterURL";

function App() {
  return (
    <Router>
      <div>
        <Nav />
        <RouterURL />
        <Footer />
      </div>
    </Router>
  );
}

You must have to import BrowseRouter as Router and then Routes, Route.您必须将 BrowseRouter 导入为路由器,然后导入 Routes、Route。 Its mandatory to wrap all of your routings inside the Router.必须将所有路由包装在路由器中。 Then wrap each Route inside Routes.然后将每个 Route 包裹在 Routes 中。 Also the Route has no closing tag in react-router v6.此外,路线在 react-router v6 中没有结束标签。 Route is self closing tag.路线是自闭标签。

 import { BrowserRouter as Router, Routes, Route } from "react-router-dom"; import Contact from "../component/Contact"; import Details from "../component/Details"; import Home from "../component/Home"; export default class routerURL extends Component { render() { return ( <Router> <Routes> <Route path="/" element={<Home />} /> <Route path="/details" element={<Details />} /> <Route path="/contact" element={<Contact />} /> </Routes> </Router> ); } }

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

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