javascript 未呈现React路线[重复]

pbpqsu0x  于 2023-02-15  发布在  Java
关注(0)|答案(3)|浏览(137)
    • 此问题在此处已有答案**:

React Router Dom routes are returning blank pages(2个答案)
8个月前关闭。
我正在使用这个React Tutorial on YouTube,但是我不能让我的路由在自己的开发服务器上呈现。
This是我的主屏幕正在渲染的。我的主屏幕应该在导航栏下面显示粉红色的背景。
我怀疑错误发生在App.js代码的这一部分,因为除之外的其他部分都工作正常:

<Routes>
  <Route exact path="/" component={HomeScreen}/>
</Routes>

我使用的是React路由器dom v6.3.0
我的App.js代码:

import './App.css';
import { useState } from "react";
import { BrowserRouter as Router, Routes, Route} from "react-router-dom";

// Screens
import HomeScreen from './screens/HomeScreen';

// Components 
import Navbar from './components/Navbar';
import SideDrawer from './components/SideDrawer';
import Backdrop from './components/Backdrop';

function App() {
  const [sideToggle, setSideToggle] = useState(false);

  return (
    <Router>
      <Navbar click={() => setSideToggle(true)} />
      <SideDrawer show={sideToggle} click={() => setSideToggle(false)} />
      <Backdrop show={sideToggle} click={() => setSideToggle(false)} />
      <main>
        <div className="app">This is a test</div>
        <Routes>
          <Route exact path="/" component={HomeScreen}/>
        </Routes>
      </main>
    </Router>
  );
}

export default App;

我的index.js代码:

import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./App";
import reportWebVitals from "./reportWebVitals";

ReactDOM.render(
    <React.StrictMode>
      <App />
    </React.StrictMode>,
  document.getElementById("root")
);

reportWebVitals();

我的主屏幕代码:

import "./HomeScreen.css";

const HomeScreen = () => {
  return (
    <div className="homescreen">
      Home Screen
    </div>
  )
}

export default HomeScreen

希望有人能给一些建议,以React新手?请让我知道,如果我需要提供更多的信息。

ogq8wdun

ogq8wdun1#

Wen,如果您使用的是react-router-dom v6.3.0,那么您必须使用

<Routes>
  <Route exact path="/" element={<HomeScreen/>}/>
</Routes>
tct7dpnv

tct7dpnv2#

我认为这就是你的错误:
import React from "react"; import { BrowserRouter} from "react-router-dom"; import ReactDOM from "react-dom";import "./index.css";import App from "./App";import reportWebVitals from "./reportWebVitals";ReactDOM.render(<React.StrictMode>BrowserRouter><App>BrowserRouter>React.StrictMode>,document.getElementById("root")reportWebVitals();
你需要在browserouter中覆盖app组件,如果它不工作,那么更新你的react-router-dom并尝试这个简单的docs

0aydgbwb

0aydgbwb3#

它应该是element,而不是component,该属性为Route呈现组件,并且该组件应该被称为:

<Route exact path="/" component={<HomeScreen/>}/>

您所拥有的是React路由器Dom v5

相关问题