use*_*576 9 javascript reactjs react-router react-router-dom
据我了解:
示例:非数据路由器
<Router>
<header>
<Link to="/">Home</Link>
</header>
<Routes>
<Route...>
<Route...>
</Routes>
</Router>
Run Code Online (Sandbox Code Playgroud)
示例:数据路由器(引发错误)完整示例
const router = createBrowserRouter([....]);
<div>
<header>
<Link to="/">Home</Link>
</header>
<RouterProvider router={router} />
</div>
Run Code Online (Sandbox Code Playgroud)
我的问题是:我们如何创建一个使用 <Link> 功能的模板来包装 RouterProvider (及其导入的所有内容)的模板?
Dre*_*ese 26
header将/组件渲染Navbar为路由配置的一部分。在本例中,您将创建一个渲染标题和导航栏的布局路由,以及一个Outlet用于渲染其内容的嵌套路由。
例子:
export const Navbar = () => {
return (
<div>
<Link to='/'>Home</Link>
<Link to='/foo'>Foo</Link>
<Link to='/bar'>Bar</Link>
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
...
import {
createBrowserRouter,
RouterProvider,
Outlet
} from 'react-router-dom';
const HeaderLayout = () => (
<>
<header>
<Navbar />
</header>
<Outlet />
</>
);
const router = createBrowserRouter([
{
element: <HeaderLayout />,
children: [
{
path: "/",
element: <div>Hello</div>,
},
{
path: '/foo',
element: <div>foo</div>,
},
{
path: '/bar',
element: <div>foo</div>,
}
],
},
]);
export function App(props) {
return (
<div className='App'>
<RouterProvider router={router} />
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15841 次 |
| 最近记录: |