React Router v6 不渲染任何东西
React Router v6 not rendering anything
当使用 react-router-dom 时,应用程序中没有任何 rednerr(空白页面),我的组件在没有路由的情况下工作(在代码中注释)。我不知道为什么会这样。
p.s。我没有包含 {jobs} 对象,但这与问题无关。
这是我的代码:
import React from 'react';
import {
BrowserRouter as Router,
Routes,
Route,
} from "react-router-dom";
import List from './components/list/List';
import Navbar from './components/navbar/Navbar';
function App() {
// return (
// <>
// <Navbar />
// <div className='w-full flex flex-col content-center items-center'>
// <List jobs={jobs} />
// </div>
// </>
// )
return (
<Router>
<div>
<Navbar />
<Routes>
<Route path="/contact">
</Route>
<Route path="/company/:id">
</Route>
<Route path="/companies">
</Route>
<Route exact path="/">
<div className='w-full flex flex-col content-center items-center'>
<List jobs={jobs} />
</div>
</Route>
</Routes>
</div>
</Router>
)
}
export default App
使用 React Router V6,路由的内容应该由 属性 element
.
传递
参见下面的示例:
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import List from './components/list/List';
import Navbar from './components/navbar/Navbar';
function App() {
// return (
// <>
// <Navbar />
// <div className='w-full flex flex-col content-center items-center'>
// <List jobs={jobs} />
// </div>
// </>
// )
return (
<Router>
<div>
<Navbar />
<Routes>
<Route path="/contact"></Route>
<Route path="/company/:id"></Route>
<Route path="/companies"></Route>
<Route
exact
path="/"
element={
<div className="flex w-full flex-col content-center items-center">
<List jobs={jobs} />
</div>
}
/>
</Routes>
</div>
</Router>
);
}
export default App;
路由需要一个元素来知道加载什么。
<Route path="/contact"> </Route>
应该是:
<Route path={"/contact"} element={<Contact />} />
被调用的元素:
export function Contact(){
return <div>Contact us</div>
}
当使用 react-router-dom 时,应用程序中没有任何 rednerr(空白页面),我的组件在没有路由的情况下工作(在代码中注释)。我不知道为什么会这样。
p.s。我没有包含 {jobs} 对象,但这与问题无关。
这是我的代码:
import React from 'react';
import {
BrowserRouter as Router,
Routes,
Route,
} from "react-router-dom";
import List from './components/list/List';
import Navbar from './components/navbar/Navbar';
function App() {
// return (
// <>
// <Navbar />
// <div className='w-full flex flex-col content-center items-center'>
// <List jobs={jobs} />
// </div>
// </>
// )
return (
<Router>
<div>
<Navbar />
<Routes>
<Route path="/contact">
</Route>
<Route path="/company/:id">
</Route>
<Route path="/companies">
</Route>
<Route exact path="/">
<div className='w-full flex flex-col content-center items-center'>
<List jobs={jobs} />
</div>
</Route>
</Routes>
</div>
</Router>
)
}
export default App
使用 React Router V6,路由的内容应该由 属性 element
.
参见下面的示例:
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
import List from './components/list/List';
import Navbar from './components/navbar/Navbar';
function App() {
// return (
// <>
// <Navbar />
// <div className='w-full flex flex-col content-center items-center'>
// <List jobs={jobs} />
// </div>
// </>
// )
return (
<Router>
<div>
<Navbar />
<Routes>
<Route path="/contact"></Route>
<Route path="/company/:id"></Route>
<Route path="/companies"></Route>
<Route
exact
path="/"
element={
<div className="flex w-full flex-col content-center items-center">
<List jobs={jobs} />
</div>
}
/>
</Routes>
</div>
</Router>
);
}
export default App;
路由需要一个元素来知道加载什么。
<Route path="/contact"> </Route>
应该是:
<Route path={"/contact"} element={<Contact />} />
被调用的元素:
export function Contact(){
return <div>Contact us</div>
}