使用 React Router v6 进行布局
来源:dev.to
2024-08-24 15:34:00
0浏览
收藏
最近发现不少小伙伴都对文章很感兴趣,所以今天继续给大家介绍文章相关的知识,本文《使用 React Router v6 进行布局》主要内容涉及到等等知识点,希望能帮到你!当然如果阅读本文时存在不同想法,可以在评论中表达,但是请勿使用过激的措辞~
第 1 步:设置 react router v6
npm i -d react-router-dom@latest
第2步:定义路由结构
接下来,在 app.js 文件中定义路由的结构。我们将为主页、关于页面和联系页面创建路由,并将它们与相应的组件关联起来。
// app.js import react from 'react'; import { browserrouter as router, routes, route } from 'react-router-dom'; import layout from './layout'; import home from './home'; import about from './about'; import contact from './contact'; function app() { return ( <router> <routes> <route path="/" element={<layout />}> <route index element={<home />} /> <route path="/about" element={<about />} /> <route path="/contact" element={<contact />} /> </route> </routes> </router> ); } export default app;
第三步:创建布局组件
现在,让我们创建一个布局组件(layout.js),它将包含我们的共享标题和主要内容区域。
// layout.js import react from 'react'; import { outlet } from 'react-router-dom'; function layout() { return ( <div> <header> <h1>my app</h1> <nav> <ul> <li><a href="/">home</a></li> <li><a href="/about">about</a></li> <li><a href="/contact">contact</a></li> </ul> </nav> </header> <main> <outlet /> </main> </div> ); } export default layout;
第四步:创建页面组件
为主页、关于页面和联系页面创建单独的组件。这些组件将代表每个页面的内容。
家居组件
// home.js import react from 'react'; function home() { return ( <div> <h2>home page</h2> <p>welcome to the home page!</p> </div> ); } export default home;
关于组件
// about.js import react from 'react'; function about() { return ( <div> <h2>about page</h2> <p>learn more about us!</p> </div> ); } export default about;
接触元件
// Contact.js import React from 'react'; function Contact() { return ( <div> <h2>Contact Page</h2> <p>Reach out to us!</p> </div> ); } export default Contact;
结论
恭喜!您已经使用 react router v6 成功构建了布局,允许您在不同页面之间导航,同时在整个应用程序中保持一致的布局。这种方法为具有多个路由的 react 应用程序提供了一个干净且有组织的结构。尝试添加更多路由和组件以进一步增强您的应用程序!
理论要掌握,实操不能落!以上关于《使用 React Router v6 进行布局》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!
版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除

- 上一篇
- 使用 i 翻译你的 React 项目从未如此简单

- 下一篇
- 我的 Obsidian + Hugo 博客设置(使用热键自动发布)
查看更多
最新文章
-
- 文章 · 前端 | 7分钟前 |
- JavaScript跨域问题解决方案
- 433浏览 收藏
-
- 文章 · 前端 | 13分钟前 |
- Vue.js入门推荐:优质在线课程合集
- 490浏览 收藏
-
- 文章 · 前端 | 16分钟前 |
- JS判断undefined的5种实用方法!
- 386浏览 收藏
-
.box {
width: 1">