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
相关推荐
何贤几秒前
😲我写出了 Threejs 版城市天际线?!(官推转发🥳+ 源码分享🚀)
前端·开源·three.js
前端老鹰1 分钟前
JavaScript Array.prototype.at ():数组任意位置取值的新姿势
前端·javascript
autumnTop8 分钟前
为什么访问不了同事的服务器或者ping不通地址了?
前端·后端·程序员
weixin_4433533129 分钟前
小红书帖子评论的nodejs爬虫脚本
前端·爬虫
yzzzzzzzzzzzzzzzzz31 分钟前
HTML 常用标签介绍
前端·html
Wcy307651906634 分钟前
web前端第二次作业
前端·javascript·css
北京_宏哥34 分钟前
Python零基础从入门到精通详细教程11 - python数据类型之数字(Number)-浮点型(float)详解
前端·python·面试
waterHBO37 分钟前
css 模拟一个动画效果,消息堆叠。
前端·css
艾小码1 小时前
JavaScript 排序完全指南:从基础到高阶实战
前端·javascript·排序算法
前端加油站1 小时前
在 cursor 成为流行的开发方式后,作为普通开发我们能做什么
前端