react跳转和传参两种方式

需要安装ReactRouter包:npm i react-router-dom

两种跳转方式分别是Link和useNavigate,下面跳转传参会有所展示

1.useSearchParams传参

传参代码

javascript 复制代码
//传参方代码
import { Link, useNavigate } from "react-router-dom"
const Login = () =>{
    const navigate = useNavigate()
    return <div>
            <button onClick={()=>navigate('/shop?id=100&name=zs')}>登录(传参)</button>
            <Link to="/shop?id=100&name=zs">跳转到购物(传参)</Link>
    </div>
}
export default Login

接收代码

javascript 复制代码
//接收方代码
import { useSearchParams } from "react-router-dom"
function App(){
  // 接收传参
  const [params] = useSearchParams()
  const id = params.get('id')
  const name = params.get('name')
  console.log(id, '接收传参', name)
}

2.useParams传参

javascript 复制代码
//路由这里需要进行配置(主要看my的配置)
import Login from '../view/login/index'
import My from '../view/my/index'
import { createBrowserRouter } from 'react-router-dom'

const router = createBrowserRouter([
    {
        path:'/login',
        element:<Login/>
    },
    {
        path:'/my/:id/:name',
        element:<My/>
    }
])

export default router

传参代码

javascript 复制代码
//传参方
import { Link, useNavigate } from "react-router-dom"


const Login = () =>{
    const navigate = useNavigate()
    return <div>
        <Link to="/my/100/ll">跳转到我的(传参)</Link>
    </div>
}
export default Login

接收代码

javascript 复制代码
//接收方
import { useParams } from "react-router-dom"
const My = () =>{
    const params = useParams()
    const id = params.id
    const name = params.name
    return <div>
        <div>这里是我的页面,id是{id},名字是{name}</div>
    </div>
}
export default My
相关推荐
灵感__idea3 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
向葭奔赴♡4 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
黑犬mo4 小时前
在Edge、Chrome浏览器上安装uBlock Origin插件
前端·edge
excel4 小时前
🧩 Vue 3 watch 源码详解(含完整注释)
前端·javascript·vue.js
大前端helloworld4 小时前
前端梳理体系从常问问题去完善-网络篇
前端·面试
excel4 小时前
🌿 一文看懂 Vue 3 的 watch 源码:从原理到流程
前端
繁依Fanyi5 小时前
让工具说话:我在 Inspira Board 里用 AI 把“能用、好用、可复用”落成了日常
前端
weixin_456904276 小时前
C# 中的回调函数
java·前端·c#
kura_tsuki6 小时前
[Web网页] LAMP 架构与环境搭建
前端·架构
yinuo6 小时前
UniApp+Vue3多分包引入同一 npm 库被重复打包至 vendor 的问题分析与解决
前端