• 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

  • 相关阅读:
    PPTP和L2TP哪种好?
    LeetCode算法题---第2天
    实习打怪之路:JS中检测数据类型的方法
    JDK的动态代理,一文搞定
    AUGMENTING LOGICAL REASONING CAPABILITIES WITH LARGE LANGUAGE MODELS
    python -- PyQt5(designer)中文详细教程(五)对话框
    js回调函数
    使用递归思想遍历二叉树
    Android开发基础教程(2019)第17集 页面导航 Navigation(1)笔记
    数据结构和算法——绪论
  • 原文地址:https://blog.csdn.net/m0_62785037/article/details/136577685