基本组件不渲染

basic components not rendering

我刚刚开始我的第一个 React Web 应用程序,但我的组件没有呈现。即使直接位于 app.js 文件中的简单 h1 元素也不会呈现。但是,在删除路由后确实如此,所以我最好的猜测是问题出在某个地方。 代码:

app.js

import React, { lazy, Suspense } from 'react'
import './App.css';
import { Routes, Route } from 'react-router-dom'
import { ToastContainer } from 'react-toastify'
import 'react-toastify/dist/ReactToastify.css'

const Home = React.lazy(() => import('./pages/Home'))


const App = () => {
  return (
    <Suspense fallback={<div>Loading...</div>}>
      <h1>App</h1>
      <ToastContainer />
      <Routes>
          <Route exact path="/" element={Home} />
      </Routes>
    </Suspense>
  )
}

export default App;

Home.js

import React from 'react'

const Home = () => {
    return (
        <h1>Home Page</h1>
    )
}

export default Home

很抱歉这个非常初学者的问题。请记住,这是我的第一个反应网络应用程序。

React 路由接受 ReactElement 而不是 ReactNode,也不需要确切的

  <Routes>
      <Route path="/" element={<Home />} />
  </Routes>

我认为您正在使用的教程使用了以前的 react-router API。请试试这个:

import React from "react";
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link,
  useRouteMatch,
  useParams
} from "react-router-dom";

export default function App() {
  return (
    <Router>
      <div>
        <ul>
          <li>
            <Link to="/">Home</Link>
          </li>
          <li>
            <Link to="/about">About</Link>
          </li>
          <li>
            <Link to="/topics">Topics</Link>
          </li>
        </ul>

        <Switch>
          <Route path="/about">
            <About />
          </Route>
          <Route path="/">
            <Home />
          </Route>
        </Switch>
      </div>
    </Router>
  );
}

function Home() {
  return <h2>Home</h2>;
}

function About() {
  return <h2>About</h2>;
}