【发布时间】:2023-01-18 00:32:00
【问题描述】:
我在我的项目中使用 MUIv5 和 React-Router v6,我想在我的页面周围包装一个布局,但页面没有呈现,我得到的只是一个空的 div
这是我的 App 组件:
import React from "react";
import { Routes, Route } from "react-router-dom";
import { CssBaseline } from "@mui/material";
import MainLanding from './routes/MainLanding';
import StoreLanding from "./routes/StoreLanding";
import Layout from "./components/Layout";
const App = () =>{
return(
<>
<CssBaseline/>
<Routes>
<Route element={<Layout/>}>
<Route path="/" element={<MainLanding/>}/>
<Route path="/store" element={<StoreLanding/>}/>
</Route>
</Routes>
</>
)
}
export default App
这是我通过道具调用孩子的布局组件:
import React from 'react';
const Layout = ({ children }) => {
return (
<div>
{children}
</div>
)
}
export default Layout;
【问题讨论】:
-
为什么不直接将路由包装在布局中,而不是将其包装为路由中的元素?
-
这回答了你的问题了吗? React Router v6 shared layouts
标签: reactjs react-router react-router-dom