• 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

  • 相关阅读:
    一篇文章教你Pytest快速入门和基础讲解,一定要看!
    redis缓存数据和表数据一致性之延时双删策略
    VB6.0 设置窗体的默认焦点位置在 TextBox 中
    无涯教程-JavaScript - VDB函数
    22.11.8打卡 Codeforces Round #831 (Div. 1 + Div. 2) A~C
    阿里云搭建博客之如何设置网页为中文
    【Spring Boot】Day01
    ChatGPT做测试助手,轻轻松提升工作效率!
    【示波器专题】数字示波器的主要指标——采样率
    Web3 如何走向主流:除时间外 这 3 个关键领域值得关注
  • 原文地址:https://blog.csdn.net/m0_62785037/article/details/136577685