当前位置:   article > 正文

React-路由导航

React-路由导航

1.声明式路由导航

1.1概念

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

  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页面

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/224736
推荐阅读
相关标签
  

闽ICP备14008679号