浅析react |
您所在的位置:网站首页 › react路由表 › 浅析react |
什么是路由? 声明式导航 isActive ? "selected" : ""}>HOME isActive ? "selected" : ""}>ABOUTnavigate() 路由跳转编程式导航 导入一个 useNavigate钩子函数执行 useNavigate 函数得到 跳转函数在事件中执行跳转函数完成路由跳转import React from "react"; import { Route, Routes, useNavigate } from "react-router-dom"; function App() { const navigate = useNavigate(); return ( {/* 编程式导航导航 */} { navigate("/child1"); }} > onClick: go to child1 ); } export default App;路由V6传参场景:跳转路由的同时,有时候要需要传递参数 由于v6把旧版本中的路由组件能收到的三个参数(Location,history,match) 移除了, 所以 不能直接使用this.props.location.pathname 获取到当前路由。而且 withRouter也移除 了。 那么如何传参呢?请往下看: searchParams 传参查询字符串传参的方式比较简单,参数的形式以 问号拼接 到地址后面 路由传参 import { useNavigate } from 'react-router-dom' const Login = () => { const navigate = useNavigate() return ( navigate('/about?id=1001')}>go index ) } export default Login路由取参 import { useSearchParams } from 'react-router-dom' const About = () => { const [params] = useSearchParams() let id = params.get('id') return this is about {id} } export default Aboutparams 传参params 方式传参要求会多一些,需要我们在路由表配置的位置添加一个 参数占位。 路由表配置的位置添加参数占位 const router = createBrowserRouter([ { path: '/about/:id', // 注意这里 element: , }, ]) export default router路由传参 import { useNavigate } from 'react-router-dom' const Login = () => { const navigate = useNavigate() return ( navigate('/about/1001')}>go index ) } export default Login路由取参 import { useParams } from 'react-router-dom' const About = () => { const params = useParams() let id = params.id return this is about {id} } export default About总结路由跳转方式Link、NavLink navigate() 路由跳转 onClick={() => { navigate("/child1"); }}路由传参searchParams 传参 -- useSearchParamsparams 传参 -- useParams参考文档: react router v6 中文文档: http://www.reactrouter.cn/https://mp.weixin.qq.com/s?__biz=MzIxMjAzNDUzOQ==&mid=2454693207&idx=1&sn=d0bedb74db993d84a2ad102cbb5f6689&chksm=80f733d3b780bac5047b45297cb23247bb7bcaa87e03961588bf5fca49cff6649a2b88480d37&token=1129492451&lang=zh_CN&scene=21#wechat_redirect |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |