【问题标题】:basic components not rendering基本组件不渲染
【发布时间】:2022-01-03 10:53:01
【问题描述】:

我刚刚开始我的第一个 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 网络应用程序。

【问题讨论】:

  • 应该是
  • 您是否使用 react 脚本来启动您的开发服务器? (yarn start 或 npm run start)
  • 山姆是的,我正在使用 npm start

标签: reactjs react-redux


【解决方案1】:

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

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

【讨论】:

  • 非常感谢。这解决了我的问题。
【解决方案2】:

我认为您使用的教程使用了之前的 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>;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2018-05-29
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    相关资源
    最近更新 更多