javascript - 如果您从 render 返回一个 Component 而不是 <Component/> ,则可能会发生这种情况

标签 javascript reactjs react-native

我收到这个错误 函数作为 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/

相关文章:

javascript - 将变量与自身进行比较

javascript - JavaScript中的++i和i++有什么区别

javascript - 如何在React中获取表单提交的输入值

javascript - React-native - Firebase onAuthStateChanged 无法正常工作

javascript - 如何将数据从一个组件实时传递到另一个组件?

javascript - 如何正确加载图片路径?

javascript - 无法绑定(bind)事件

javascript - React router 4 - 使用哈希来路由架构问题

reactjs - 如何使用 Next.js 中的门户来获取直接父容器之外的子元素?

javascript - 如何更新文本输入值以使用货币格式