基本组件不渲染
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>;
}
我刚刚开始我的第一个 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>;
}