当前位置: 首页 > news >正文

笔记二十二、使用路由state进行传递参数

22.1 父组件设置state路由参数

<NavLink to='classify' state={{param_C: this.state.name, param_D: this.state.age}}
className={this.activeStyle}>classify</NavLink>

父组件 Home/index.jsx

import React from "react";
import {NavLink, Outlet} from "react-router-dom";class App extends React.Component {// 类组件中不能用const定义变量// 选中高亮activeStyle = ({isActive}) => {return isActive ? 'background' : "";};state = {name: 'elendaLee', age: 20};render() {return (<div>首页的页面<div style={{display: "flex", justifyContent: 'center', marginTop: '20px'}}><NavLink to='classify' state={{param_C: this.state.name, param_D: this.state.age}}className={this.activeStyle}>classify</NavLink><NavLink to='navigation' className={this.activeStyle}>navigation</NavLink></div><div style={{background: 'red'}}>{/*<!-- Renders the child route's element, if there is one. -->*/}<Outlet/></div></div>);}
}export default App;

 22.2 子组件获取state参数

import React from 'react';
import {useLocation} from "react-router-dom";const Classify = () => {// 两次结构赋值const {state: {param_C, param_D},} = useLocation();return (<div>分类的页面<div>父组件home传递的参数1:{param_C}父组件home传递的参数2:{param_D}</div></div>);
}export default Classify;

路由表无需改动

import {Navigate} from "react-router-dom";
import Home from "../components/Home";
import About from "../components/About";
import Classify from "../components/Home/components/Classify.jsx";
import Navigation from "../components/Home/components/Navigation.jsx";export default [{path: '/home',element: <Home/>,children: [{path: 'classify',element: <Classify/>},{path: 'navigation',element: <Navigation/>},]},{path: '/about',element: <About/>,},{path: '/',element: <Navigate to='about'/>,}
]

http://www.lryc.cn/news/246404.html

相关文章:

  • 2023 OI 总结
  • ESP32-Web-Server编程-HTML 基础
  • 【docker】docker安装与优化
  • https到底把什么加密了?
  • python爬虫防乱码方案
  • Java 语言的入门级教程有哪些?
  • STM32算法
  • 论文阅读 (106):Decoupling maxlogit for out-of-distribution detection (2023 CVPR)
  • 毅速丨3D打印随形水路为何受到模具制造追捧
  • 【LeetCode:1670. 设计前中后队列 | 数据结构设计】
  • OpenCV将两张图片拼接成一张图片
  • 4G5G智能执法记录仪在保险公司车辆保险远程定损中的应用
  • 二十七、RestClient查询文档
  • 百度云Ubuntu22.04
  • 解除word文档限制,快速轻松,seo优化。
  • 【音频】Glitch相关
  • 【开源】基于Vue+SpringBoot的大学生相亲网站
  • 5种主流API网关技术选型,yyds!
  • 请求pdf文件流并进行预览
  • 【Unity程序技巧】加入缓存池存储地图资源,节省资源,避免多次CG
  • 虹科Pico汽车示波器 | 汽车免拆检修 | 2016款东风悦达起亚K5车发动机怠速抖动严重、加速无力
  • 4.Spring源码解析-loadBeanDefinitions(XmlBeanDefinitionReader)
  • PHP 针对人大金仓KingbaseES自动生成数据字典
  • java选择排序和冒泡排序
  • linux反弹shell
  • Go字符串类型
  • DjiTello + YoloV5的无人机的抽烟检测
  • 数据库取多个时间字段的最大值
  • C/C++ 实现Socket交互式服务端
  • kotlin 防范竞态