React-路由导航

1.声明式路由导航

1.1概念

说明:声明式导航是指通过在模版中通过<Link/>组件描述出要跳转到哪里去,比如后台管理系统的左侧菜单通常使用这种方式进行。

javascript 复制代码
import {Link} from "react-router-dom"
const Login=()=>{
    return (
        <div>我是登录页面
            <Link to={"/home"}>跳转Home页</Link>
        </div>
    )
}
export default  Login

1.2传参

1.2.1 Login页面

javascript 复制代码
 <button onClick={()=>navigation("/home/1/forever")}>跳转Home页(params传参)</button>

1.2.2路由path配置

javascript 复制代码
import Login from "../page/Login";
import Home from "../page/Home";


import {createBrowserRouter} from "react-router-dom"


const router=createBrowserRouter([
    {
        path:"/login",
        element:<Login></Login>
    },
    {
        path:"/home/:id/:username",
        element:<Home></Home>
    }
]
)

export default router

1.2.3参数获取

javascript 复制代码
import { useParams } from "react-router-dom"

const Home=()=>{
    // const [params]=useSearchParams()
    const params=useParams()
    return (
  <div>我是home页面id{params.id}
  <div>我是home页面username{params.username}</div>
  </div>

                       )
}
export default  Home

1.2.4页面

2.编程式路由导航

2.1概念

说明:编程式导航是指通过`useNavigate`钩子得到导航方法,然后通过调用方法以命令式的形式进行路由跳转,比如想在登录请求完毕之后跳转就可以选择这种方式,更加灵活。

javascript 复制代码
import {Link,useNavigate} from "react-router-dom"
const Login=()=>{
    const navigation=useNavigate()
    return (
        <div>我是登录页面
            {/* 声明式写法 */}
            <Link to={"/home"}>跳转Home页</Link>
            {/* 命令式写法 */}
            <button onClick={()=>navigation("/home")}>跳转Home页</button>
        </div>
    )
}
export default  Login

2.2传参

2.2.1Lgoin页面

javascript 复制代码
import {Link,useNavigate} from "react-router-dom"
const Login=()=>{
    const navigation=useNavigate()
    return (
        <div>我是登录页面
            {/* 声明式写法 */}
            <Link to={"/home"}>跳转Home页</Link>
            {/* 命令式写法 */}
            <button onClick={()=>navigation("/home")}>跳转Home页</button>
            <button onClick={()=>navigation("/home?id=1&&username=forever")}>跳转Home页(传参)</button>
        </div>
    )
}
export default  Login

2.2.2跳转效果

2.2.3参数获取

说明:home获取参数。

javascript 复制代码
import { useSearchParams } from "react-router-dom"

const Home=()=>{
    const [params]=useSearchParams()
    
    return (
    <div>我是home页面{params.get("id")}
    <div>我是home页面{params.get("username")}
        </div> 
        </div>)
}
export default  Home
相关推荐
lerhxx4 分钟前
Web安全两大基石:深入理解与防御XSS与CSRF攻击
前端·安全
用户9422443570244 分钟前
JSAR 空间小程序开发全指南:从环境搭建到跨场景应用落地
javascript
Sherry0075 分钟前
【译】React 新手踩坑指南:9 个让你秃头的常见错误 🚨
javascript·react.js·前端框架
银安6 分钟前
自动化构建的支线任务
前端·前端工程化
渣哥18 分钟前
从构造器注入到 setter:Spring 循环依赖的常见场景解析
javascript·后端·面试
Tajang36 分钟前
推荐一个浏览器代理插件(Tajang Proxy),支持Chrome和Edge
前端·chrome·网络安全·渗透测试·靶场·edge
鹏多多40 分钟前
前端音频兼容解决:音频神器howler.js从基础到进阶完整使用指南
前端·javascript·音视频开发
龙仔CLL1 小时前
使用vue-pdf做本地预览pdf文件,通过垂直滚动条展示全部pdf内容,不展示分页按钮
前端·vue.js·pdf
前端架构师-老李1 小时前
12、electron专题(electron-builder)
前端·javascript·electron
IT_陈寒2 小时前
JavaScript性能飞跃:5个V8引擎优化技巧让你的代码提速300%
前端·人工智能·后端