我收到这个错误 函数作为 React 子项无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者您可能打算调用此函数而不是返回它
和
位置“/”处的匹配叶路由没有元素。这意味着默认情况下它将呈现具有空值的 an,从而导致“空”页面。
这个
App.js 文件是
import React, { Component } from 'react';
import HomePage from './pages/HomePage';
import { BrowserRouter, Routes, Route, } from 'react-router-dom';
import './App.css';
import { render } from '@testing-library/react';
class App extends Component { render() {
return (
<BrowserRouter>
<Routes>
<Route path='/' element={HomePage} exact/>
</Routes>
</BrowserRouter>
); } }
export default App;
和 Homepage.js
import React from 'react';
const HomePage = () => (
<>
<h1>Hello, welcome to my blog!</h1>
<p>
Welcome to my blog! Proin congue
ligula id risus posuere, vel eleifend ex egestas. Sed in turpis leo.
Aliquam malesuada in massa tincidunt egestas. Nam consectetur varius turpis,
non porta arcu porttitor non. In tincidunt vulputate nulla quis egestas. Ut
eleifend ut ipsum non fringilla. Praesent imperdiet nulla nec est luctus, at
sodales purus euismod.
</p>
<p>
Donec vel mauris lectus. Etiam nec lectus urna. Sed sodales ultrices dapibus.
Nam blandit tristique risus, eget accumsan nisl interdum eu. Aenean ac accumsan
nisi. Nunc vel pulvinar diam. Nam eleifend egestas viverra. Donec finibus lectus
sed lorem ultricies, eget ornare leo luctus. Morbi vehicula, nulla eu tempor
interdum, nibh elit congue tellus, ac vulputate urna lorem nec nisi. Morbi id
consequat quam. Vivamus accumsan dui in facilisis aliquet.,
</p>
<p>
Etiam nec lectus urna. Sed sodales ultrices dapibus.
Nam blandit tristique risus, eget accumsan nisl interdum eu. Aenean ac accumsan
nisi. Nunc vel pulvinar diam. Nam eleifend egestas viverra. Donec finibus lectus
sed lorem ultricies, eget ornare leo luctus. Morbi vehicula, nulla eu tempor
interdum, nibh elit congue tellus, ac vulputate urna lorem nec nisi. Morbi id
consequat quam. Vivamus accumsan dui in facilisis aliquet.,
</p>
</>
);
export default HomePage;
最佳答案
替换<Route path='/' element={HomePage} exact/>
与 <Route path='/' element={<HomePage/>} exact/>
.
自 React Router v6 以来,您需要将其作为元素而不是 Prop 传递。
关于javascript - 如果您从 render 返回一个 Component 而不是 <Component/> ,则可能会发生这种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71195412/