• React-路由导航


    1.声明式路由导航

    1.1概念

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

    1. import {Link} from "react-router-dom"
    2. const Login=()=>{
    3. return (
    4. <div>我是登录页面
    5. <Link to={"/home"}>跳转Home页Link>
    6. div>
    7. )
    8. }
    9. export default Login

    1.2传参

     

    1.2.1 Login页面

     

    1.2.2路由path配置 

    1. import Login from "../page/Login";
    2. import Home from "../page/Home";
    3. import {createBrowserRouter} from "react-router-dom"
    4. const router=createBrowserRouter([
    5. {
    6. path:"/login",
    7. element:<Login>Login>
    8. },
    9. {
    10. path:"/home/:id/:username",
    11. element:<Home>Home>
    12. }
    13. ]
    14. )
    15. export default router

    1.2.3参数获取

    1. import { useParams } from "react-router-dom"
    2. const Home=()=>{
    3. // const [params]=useSearchParams()
    4. const params=useParams()
    5. return (
    6. <div>我是home页面id{params.id}
    7. <div>我是home页面username{params.username}div>
    8. div>
    9. )
    10. }
    11. export default Home

    1.2.4页面

     

    2.编程式路由导航

    2.1概念

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

    1. import {Link,useNavigate} from "react-router-dom"
    2. const Login=()=>{
    3. const navigation=useNavigate()
    4. return (
    5. <div>我是登录页面
    6. {/* 声明式写法 */}
    7. <Link to={"/home"}>跳转Home页Link>
    8. {/* 命令式写法 */}
    9. <button onClick={()=>navigation("/home")}>跳转Home页button>
    10. div>
    11. )
    12. }
    13. export default Login

    2.2传参

    2.2.1Lgoin页面 

    1. import {Link,useNavigate} from "react-router-dom"
    2. const Login=()=>{
    3. const navigation=useNavigate()
    4. return (
    5. <div>我是登录页面
    6. {/* 声明式写法 */}
    7. <Link to={"/home"}>跳转Home页Link>
    8. {/* 命令式写法 */}
    9. <button onClick={()=>navigation("/home")}>跳转Home页button>
    10. <button onClick={()=>navigation("/home?id=1&&username=forever")}>跳转Home页(传参)button>
    11. div>
    12. )
    13. }
    14. export default Login

    2.2.2跳转效果 

     

    2.2.3参数获取 

    说明:home获取参数。 

    1. import { useSearchParams } from "react-router-dom"
    2. const Home=()=>{
    3. const [params]=useSearchParams()
    4. return (
    5. <div>我是home页面{params.get("id")}
    6. <div>我是home页面{params.get("username")}
    7. div>
    8. div>)
    9. }
    10. export default Home

  • 相关阅读:
    1024程序员节献礼,火山引擎ByteHouse带来三重产品福利
    Python大文本文件按行数分割成多个小文本文件
    学习笔记:SpringCloud 微服务技术栈_高级篇③_分布式缓存
    FutureTask源码深度剖析
    Maven 之 pom.xml 文件详解
    Lab: page tables
    业务:财会业务知识之借贷记账法
    前端实现搜索关键字高亮功能:
    Docker部署Emqx并配置ssl支持微信小程序
    【毕业设计】基于Stm32的智能疫情防控门禁系统 - 单片机 嵌入式 物联网
  • 原文地址:https://blog.csdn.net/m0_62785037/article/details/136577685