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

学习react第四天

ReactRouter

to web端选择使用react-router-dom

npm i react-router-dom

createBrowserRouter创建路由

RouterProvider挂载

import Login from "../page/login";
import Actile from "../page/article";
import App from "../App";
import { createBrowserRouter } from "react-router-dom";const router = createBrowserRouter([{ path: "/login", element: <Login /> },{path: "/acticle", element: <Actile /> },{path: "/", element: <App /> }
]);export default router;
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import App from './App.jsx'
import store from './store/index.js'
import { Provider } from 'react-redux'
import router from './router/index.jsx'
import { RouterProvider } from 'react-router-dom'createRoot(document.getElementById('root')).render(<StrictMode>{/* 注入redux */}<Provider store={store}>{/* <App /> */}<RouterProvider router={router} /></Provider></StrictMode>,
)

路由跳转传参

searchParams传参

<button onClick={() => navigate('/login?id=100&name=song')}>去login</button>
import { useSearchParams } from "react-router-dom" const Login = () => {const [searchParams] = useSearchParams()console.log(searchParams.get('id'))console.log(searchParams.get('name'))return <div>Login Page</div>
}export default Login

Params传参

 {path: "/acticle/:id", element: <Actile /> },
<button onClick={() => navigate('/acticle/523512153')}>去acticle</button>
import { useParams } from "react-router-dom"const Actile = () => {const params = useParams()console.log(params.id)return <div>Article Page</div>
}export default Actile

二级路由

相关参数:Outlet 二级路由入口

import Login from "../page/login";
import Actile from "../page/article";
import Layout from "../page/layout";
import Cart from "../page/cart";
import App from "../App";
import { createBrowserRouter } from "react-router-dom";const router = createBrowserRouter([{ path: "/login", element: <Login /> },{path: "/acticle/:id", element: <Actile />,children: [// 默认二级路由{ index: true, element: <Layout /> },{ path: "cart", element: <Cart /> }]},{ path: "/", element: <App /> },
]);export default router;
// 切回默认路由 
<button onClick={() => navigator('')}>Layout</button>

404

{ path: "*", element: <NotFound /> }

路由模式

http://www.dtcms.com/a/610507.html

相关文章:

  • 宜宾百度网站建设武锡网站建设生购房政策
  • 领域驱动设计(DDD)与微服务架构的集成
  • windows中程序端口被占用解决步骤
  • DBeaver常用配置
  • 【ZeroRange WebRTC】Amazon Kinesis Video Streams WebRTC Control Plane API 深度解析
  • 网站域名续费多少钱珠海市企业网络推广
  • 电力系统暂态信号多尺度时频分析与卷积循环神经网络驱动的故障快速识别技术
  • 贵州建设公司网站868868域名查询
  • 建立网站链接结构的基本方式是模拟创建一个公司
  • 5-基于C5G 开发板的FPGA 串口通信设计 (FT232R, Altera UART IP和Nios II系统串口收发命令)
  • 手机视频网站怎么做宁夏石嘴山市城乡建设局提意见网站
  • 基于LLM 的 RAG 应用开发实战
  • 服务端开发案例(不定期更新)
  • 济宁网站建设培训班怎么提高网站加载速度慢
  • 简写单词
  • c2c模式的网站微网站在哪制作的
  • 双语版网站案例html中秋节网页制作代码
  • SSM快递代收系统00pay(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • occ中设置V3d_View视图方法
  • 顺德制作网站价格多少在线购物商城的设计与实现
  • Go语言编译器下载 | 完整安装教程与环境配置指南
  • 基于XTOM蓝光扫描的自由曲面微电路制造:一种增材制造的微尺寸几何重建与精度保障方法
  • 零陵区住房和城乡建设局网站首页哪里建设网站不需要备案
  • 网站建设软件排行两学一做网站是多少
  • 选商务手机需全面考量性能便携续航通信与办公功能
  • 网站地区分站系统重庆ssc做号网站
  • 高校5G实验室如何规划?核心设备、架构与应用场景详解
  • 做的好的网站有哪些重庆网站建设之
  • 【强化学习基础概念】
  • 有什么较好的网站开发框架广州做网站如何