React整理总结(六, 路由)

news/2024/7/15 18:09:40 标签: react.js, 前端, 前端框架

1.React-router

  • HashRouter | HistoryRouter两种不同的路由
// index.tsx
import { HistoryRouter } from 'react-router-dom';

export default const  = () => {
	return (<>
		<HistoryRouter>
			<App/>
		</HistoryRouter>
	</>)
}
  • Routes | Route路由映射关系;Link | NavLink路由跳转
//App.tsx
export default const App = () => {
	return (<>
		<div className="header">
			<Link to="/home">home</Link>
			<Link to="/about">about</Link>
		</div>
		<div className="content">
			<Routes>
				<Route path="/home" element={<Home/>}/>
				<Route path="/about" element={<About/>}/>
				<Route path="*" element={<NotFound/>}/>
			</Routes>
		</div>
		<div className="footer">
	</>)
}
  • Navigate出现即重定向

2. 路由嵌套

  • Route内部继续写Route; Outlet在显示的位置站位
<Route path="/home" element={<Home/>} >
	<Route path="/home/recommend" element={<HomeRecommend/>} />
</Route>
  • 手动跳转路由useNavigate | withRouter(Comp)
// 函数式组件
const navigate = useNavigate();
const goToPath = (path) => {
	navigate(path);
}
// 类组件
withRoute(comp);

3. 路由参数

  • 动态路由
// 配置
<Route path="/datasource/:did" element={<SourceDetail />}/>
// 跳转
navigate(`/datasource/${id}`);
// 获取参数
const {did} = useParams();

const {did} = this.props.params;
  • search传参
<Link to={`/datasource?did={id}`}>详情</Link>
// 获取参数
const location = useLocation();
const search = location.search; // ?did=111

const [searchParams, setSearchParams] = useSearchParams();
searchParams.get("did")

4.路由懒加载

  • React.lazy(void => component)懒加载路由配置
    const Home = React.lazy(() => import(“…/Components/Home”));
  • Suspence包裹App
<Suspence fallback={<Loading />}>
	<App/>
</Suspence >

http://www.niftyadmin.cn/n/5213724.html

相关文章

Guitar Pro软件8.0官方最新版本下载

Guitar Pro 8是一款由法国Arobas Music公司开发的吉他学习与MIDI音序制作辅助软件&#xff0c;它具有丰富的功能&#xff0c;包括吉他谱、六线谱、四线谱绘制、打印、查看、试听等方面&#xff0c;能够帮助音乐爱好者更方便地进行音乐学习和创作。Guitar Pro 8拥有独特的gtp格式…

java - 二分查找

一、什么是二分查找 二分查找&#xff08;Binary Search&#xff09;&#xff0c;也称为折半搜索或对数搜索&#xff0c;是一种在有序数组或列表中查找特定元素的算法。它的工作原理是将待查找的区间一分为二&#xff0c;并确定目标值位于哪个子区间中&#xff0c;然后通过不断…

【docker】docker安装与优化

目录 一、安装Docker 1、关闭防火墙 2、安装依赖包 3、设置阿里云镜像源 4、安装Docker-CE社区版并设置为开机自启动 5、查看Docker信息 二、设置镜像加速 1、申请加速地址 2、实现加速操作 三、网络优化 1、如何网络优化 2、具体操作 四、docker-server端配置文件…

北邮22级信通院数电:Verilog-FPGA(11)第十一周实验(1)用JK触发器实现8421码十进制计数器

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.代码部分 1.1 JK_8421.v 1.2 JK_ff.v …

中职组网络安全-linux渗透测试-Server2203(环境+解析)

任务环境说明&#xff1a; 服务器场景&#xff1a;Server2203&#xff08;关闭链接&#xff09; 用户名&#xff1a;hacker 密码&#xff1a;123456 1.使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b; FLAG:2232 2. 使用渗透机对…

【MinIO】几个有用的方法

在windows总安装Minio 这是一篇不错的安装指南 进入网址 在Windows安装时&#xff0c;选择相应的exe文件下载&#xff0c;下载到本地后&#xff0c;使用如下的命令即可在前台启动&#xff1a; minio.exe server D:\your_path 或者将该路径写进环境变量的path中&#xff0c;…

抖音小店什么样的品是爆品?如何选品?三年实战经验分享!

我是电商珠珠 抖音所发展的电商平台-抖音小店&#xff0c;素来以兴趣电商为发展模式&#xff0c;所以和传统的平台并不一样。 抖音平台内&#xff0c;主讲的是兴趣&#xff0c;有兴趣才会有需求。 那么新手选择什么样的品才会更加容易爆单&#xff1f; 1、颜值 按照平台的…

利用STM32CubeMX解读时钟树

1&#xff0c;低速时钟 LSE是外部晶振作时钟源&#xff0c;主要提供给实时时钟模块&#xff0c;所以一般采用32.768KHz。LSI是由内部RC振荡器产生&#xff0c;也主要提供给实时时钟模块&#xff0c;频率大约为40KHz。(LSE和LSI)只是提供给芯片中的RTC(实时时钟)及IWDG(独立看门…