AdM*_*Mer 4 reactjs react-router
给出以下沙箱,不确定如何渲染Bb组件
import React from "react";
import "./styles.css";
import { Routes, Route } from "react-router";
import { BrowserRouter } from "react-router-dom";
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route path="a" element={<Aa />}>
<Route path="b" element={<Bb />} />
</Route>
</Routes>
</BrowserRouter>
);
}
function Aa() {
return (
<p>
Hello
</p>
);
}
function Bb() {
return <p>World</p>;
}
Run Code Online (Sandbox Code Playgroud)
https://codesandbox.io/s/still-shadow-337zc?file=/src/App.js
浏览到 /a/b 仅呈现 Aa 组件
react-router v6 公开了一个Outlet必须在父路由中使用的元素,以便任何嵌套的子路由都可以通过其内部的react-router-dom 进行渲染
import React from "react";
import "./styles.css";
import { Routes, Route } from "react-router";
import { BrowserRouter, Outlet } from "react-router-dom";
export default function App() {
return (
<BrowserRouter>
<Routes>
<Route path="a" element={<Aa />}>
<Route path="b" element={<Bb />} />
</Route>
</Routes>
</BrowserRouter>
);
}
function Aa() {
return <p>Hello <Outlet /></p>;
}
function Bb() {
return <p>World</p>;
}
Run Code Online (Sandbox Code Playgroud)
如果您只想Bb渲染,a/b请将其定义为单独的路线,例如
<BrowserRouter>
<Routes>
<Route path="a" element={<Aa />}/>
<Route path="a/b" element={<Bb />} />
</Routes>
</BrowserRouter>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3425 次 |
| 最近记录: |