React js Router 路由 2, (把写过的几个 app 组合起来)

news/2025/1/15 14:54:22/

完整的项目,我已经上传了,资源链接.

起因, 目的:

每次都是新建一个 react 项目,有点繁琐。
刚刚学了路由,不如写一个 大一点的 app ,把前面写过的几个 app, 都包含进去。

这部分感觉就像是, django 里面的 createapps,
一个项目, 包含多个独立的app。

过程, 先看效果图:

在这里插入图片描述

代码 1 , 当前 app 的路由设置
import { Route, Routes, Link } from "react-router-dom";
import Home from "./pages/Home.jsx";
import About from "./pages/About.jsx";
import Books from "./pages/Books.jsx";
import NewBook from "./pages/NewBook.jsx";import TodoApp from "./todoApps/TodoApp.jsx";
import NasaApp from "./nasaApps/NasaApp.jsx";
import FormApp from "./formApps/FormApp.jsx";function App() {return (<>{/* 使用 Link 替代 href */}{/* 这里的名称一定要对应!!! */}{/* 为什么下面这2个不能用? */}{/* 因为最下面的 Routes 中没有添加!  */}<nav className="navbar navbar-dark bg-primary" data-bs-theme="dark"><ul className="nav"><li className="nav-item"><a className="nav-link active" aria-current="page" href="/">Home</a>{/* <Link to="/">Home</Link> */}</li><li className="nav-item"><a className="nav-link" href="/about">About</a></li><li className="nav-item"><a className="nav-link" href="/books">Books</a></li><li className="nav-item"><Link to="/newBook"><a className="nav-link" href="#">NewBook</a></Link></li></ul></nav>{/* <nav><ul><li><Link to="/">Home</Link></li><li><Link to="/books">Books</Link></li><li><Link to="/newBook">NewBook</Link></li><li><Link to="/about">About</Link></li></ul></nav> */}{/* 这里的路径 path="/books",  */}{/* 与上面的 Link 中 to=xxx 对应 */}<Routes><Route path="/" element={<Home />} /><Route path="/books" element={<Books />} /><Route path="/about" element={<About />} /><Route path="/newBook" element={<NewBook />} />{/* 带 id 的路由 , :id 是一个占位符, */}{/* 访问: http://localhost:5173/books/321 */}<Route path="/books/:id" element={<Books />} />{/* 访问其他几个 app  */}<Route path="/todo" element={<TodoApp />} /><Route path="/nasa" element={<NasaApp />} /><Route path="/form" element={<FormApp />} /></Routes></>);
}export default App;

其他几个页面的效果图

todo app

在这里插入图片描述

nasa

在这里插入图片描述

表单 form

在这里插入图片描述

结论 + todo

其实问题还是很多的。

  1. react 自带的标签, <Link>, 如何给这个标签添加 boostrap css 样式
  2. 多个app 组合,复杂度增加,如何排除错误。进一步学习 chrome devtools 使用技巧。

老哥,支持一下啊。

zfb


http://www.ppmy.cn/news/1526836.html

相关文章

Python 错误 ValueError 解析,实际错误实例详解 (一)

文章目录 前言Python 中错误 ValueError: No JSON object Could Be Decoded在 Python 中解码 JSON 对象将 JSON 字符串解码为 Python 对象将 Python 对象编码为 JSON 字符串Python 中错误 ValueError: Unsupported Pickle Protocol: 3Python 中的 Pickling 和 UnpicklingPython…

王道408考研数据结构-绪论

1.1 数据结构的基本概念 数据结构 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中&#xff0c;数据元素 都不是孤立存在的&#xff0c;它们之间存在某种关系&#xff0c;这种数据元素相互之间的关系称为结构(Structure)。 数据结构包括三方面的内…

DAY20240911 VUE:解锁前端路由的奥秘:如何在单页应用中避免404困境?

VUE:路由模式&#xff1a;解锁前端路由的奥秘&#xff1a;如何在单页应用中避免404困境&#xff1f; 前言路由模式常见问题1. 先有后端路由&#xff0c;再有前端路由2. 浏览器分不清是前端路由还是后端路由3. 发布和打包4. 解决404问题的方法 参考 前言 小知识&#xff1a;在W…

HarmonyOS开发之使用Picker(从相册选择图片),并且通过Swiper组件实现图片预览

一&#xff1a;效果图&#xff1a; 二&#xff1a;添加依赖 import picker from ohos.file.picker; 三&#xff1a;创建showDialog showDialog() {AlertDialog.show({message: 从相册选择,alignment: DialogAlignment.Bottom,offset: { dx: 0, dy: -12 },primaryButton: {val…

基于LSTM-Adaboost的多输入单输出回归预测神经网络【MATLAB】

LSTM-Adaboost多输入单输出回归预测是一个结合了长短期记忆网络&#xff08;LSTM&#xff09;和AdaBoost算法的回归模型&#xff0c;旨在处理时间序列数据或具有时间依赖性的多输入数据。下面是对这个模型的详细介绍&#xff1a; 1. LSTM&#xff08;长短期记忆网络&#xff0…

Rust在Web开发中的优势是什么?

作为一种系统级编程语言&#xff0c;Rust在安全性和性能方面拥有得天独厚的优势&#xff0c;使其在Web开发领域展现出强大的竞争力。 1. 内存安全&#xff1a;告别内存泄漏和缓冲区溢出 Rust的核心优势之一就是其强大的内存安全机制。通过所有权系统和借用检查器&#xff0c;…

深度学习速通系列:命名实体识别

命名实体识别&#xff08;NER&#xff09;是自然语言处理&#xff08;NLP&#xff09;中的一项基础技术&#xff0c;它能够从文本中识别出具有特定意义的实体&#xff0c;如人名、地名、组织名等。NER在信息提取、问答系统、句法分析、机器翻译等领域有着广泛的应用。 NER的技…

数据结构之线性表(python)

华子目录 线性表的定义前驱与后继 1.顺序表&#xff08;顺序存储结构&#xff09;python列表与数组的区别列表数组 1.1插入数据实例 1.2删除元素实例 1.3查找元素1.4修改元素1.5综合示例 2.单链表2.1单链表的初始化2.2插入元素示例注意 2.3删除元素示例 2.4修改元素2.5查找元素…