javascript 位置“/”处匹配的叶路由没有元素

bwitn5fc  于 2023-04-04  发布在  Java
关注(0)|答案(7)|浏览(121)

在位置“/”处匹配的叶子路由没有元素。这意味着它将默认使用空值呈现,从而导致“空”页面

//App.js File

import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
// import ReactDOM from "react-dom";

const App = () => {
  return (

    <Router >
      <Routes>

        <Route path="/" component={ Home }></Route>
      </Routes>
    </Router>

  )
}

export default App;

我的任何React路由器相关代码不工作,我不知道为什么它发生时,我开始插入一些路由程序,所以它显示此错误

lmyy7pcs

lmyy7pcs1#

在V6中,你不能再使用component prop 了。它被替换成了element

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

迁移文档中的详细信息。

nx7onnlm

nx7onnlm2#

我遇到了同样的问题。用元素替换组件,它工作了。
替换为:

<Route path="/" component={HomePage} exact />

用这个

<Route path="/" element={<HomePage/>} exact />
ltqd579y

ltqd579y3#

我有同样的错误,但我的修复略有不同,我拼错了元素。

<Route exact path='/MyGames' element={<MyGames/>}/>

这是它在浏览器控制台中给我的错误
Matched leaf route at location "/MyGames" does not have an element. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.

kt06eoxx

kt06eoxx4#

很简单:
1.使用element代替component
1.按如下方式 Package 组件:{<Home/>}而不是{Home}

<Route path="/" component={ <Home/> } />
cmssoen2

cmssoen25#

在版本6中:
组件已替换为element,需要关闭"</Route>"

<Route exact path="/" element={<AddTutorial />}></Route>

https://reactrouter.com/docs/en/v6/getting-started/overview

inb24sb2

inb24sb26#

如果你使用react-router-dom V6,这是一个常见的问题。
在代码中,将组件替换为元素将{home}替换为{}
这就变成了...〈Route path="/”element={}〉
这肯定能解决问题。

juud5qan

juud5qan7#

如果您使用的是react-router-dom 6或更高版本,您可能有一个包含父路由和子路由的路由数组
/portal
并得到此错误,因为该组件对应于子路由
/:customerid/portal
但您还没有仔细阅读路由(及其子路由),因此无法看到这一点。

相关问题