当前位置: 首页 > news >正文

做网站能挣钱不群晖做网站连接数据库

做网站能挣钱不,群晖做网站连接数据库,百度网页版入口百度一下,做的好的大学生旅行有哪些网站随着单页面应用#xff08;SPA#xff09;已经成为主流。React 作为最流行的前端框架之一#xff0c;提供了强大的路由管理工具 react-router-dom#xff0c;帮助开发者轻松实现页面导航和传参。本文将详细介绍如何使用 react-router-dom 构建路由导航、传参以及嵌套路由的…随着单页面应用SPA已经成为主流。React 作为最流行的前端框架之一提供了强大的路由管理工具 react-router-dom帮助开发者轻松实现页面导航和传参。本文将详细介绍如何使用 react-router-dom 构建路由导航、传参以及嵌套路由的实现。 1. 构建路由导航 1.1 创建路由实例 在 React 项目中通常会在 src 目录下创建一个 router 文件夹来管理路由。我们可以使用 react-router-dom 提供的 createBrowserRouter 或 createHashRouter 方法来创建路由实例。 createBrowserRouter使用 HTML5 的 history API 来实现路由URL 看起来更干净例如http://example.com/home。createHashRouter使用 URL 的 hash 部分来实现路由例如http://example.com/#/home。 import { createBrowserRouter } from react-router-dom;const router createBrowserRouter([{path: /,element: Home /,},{path: /login,element: Login /,},{path: /article,element: Article /,}, ]);export default router;1.2 嵌套路由 在 react-router-dom 中可以通过 children 属性来配置嵌套路由。嵌套路由允许我们在父路由下定义子路由从而实现更复杂的页面结构。 const router createBrowserRouter([{path: /,element: Layout /,children: [{path: home,element: Home /,},{path: about,element: About /,},],}, ]);1.3 路由导航 在 React 中有两种主要的方式来实现路由导航声明式导航 和 编程式导航。 1.3.1 声明式导航 使用 Link 组件可以实现声明式导航。Link 组件会渲染成一个 a 标签点击后会跳转到指定的路由。 import { Link } from react-router-dom;const Login () {return (divh1登录页/h1Link to/article文章页/Link/div); };- 思考为啥不用a标签 a标签每次全部刷新页面并且需要重新挂载组件对状态useState登需要重置 每次导航都会重新加载所有资源如 JavaScript、CSS 等即使这些资源在前一个页面已经加载过 无法直接支持动态路由如 /user/:idlink标签正好弥补上面缺陷适合单页面Spa应用。 自动与路由库如 React Router集成支持浏览器的前进和后退功能同时更新 URL 和历史记录 只有必要的部分如新路由对应的组件会被加载减少了不必要的网络请求和资源消耗 点击 组件只会更新当前页面的部分内容通常是路由对应的组件而不会重新加载整个页面。这使得无缝地在不同页面之间切换 1.3.2 编程式导航 使用 useNavigate 钩子可以实现编程式导航。useNavigate 返回一个函数调用该函数并传入目标路径即可实现导航。 import { useNavigate } from react-router-dom;const Login () {const navigate useNavigate();return (divh1登录页/h1button onClick{() navigate(/article)}文章页/button/div); };2. 路由传参 在 React 路由中常见的传参方式有两种searchParams 传参 和 params 传参。 2.1 searchParams 传参 searchParams 传参是通过 URL 的查询字符串来传递参数的。我们可以使用 useSearchParams 钩子来获取和设置查询参数。 import { useNavigate } from react-router-dom;const Login () {const navigate useNavigate();return (divh1登录页/h1button onClick{() navigate(/article?id1namezs)}searchParams 传参/button/div); };在目标组件中可以使用 useSearchParams 来获取传递的参数 import { useSearchParams } from react-router-dom;const Article () {const [searchParams] useSearchParams();const id searchParams.get(id);const name searchParams.get(name);return (divh1文章页/h1pID: {id}/ppName: {name}/p/div); };2.2 params 传参 params 传参是通过 URL 的动态段来传递参数的。首先需要在路由配置中定义动态段然后在导航时传递参数。 2.2.1 路由配置 const router createBrowserRouter([{path: /article/:id/:name,element: Article /,}, ]);2.2.2 导航传参 import { useNavigate } from react-router-dom;const Login () {const navigate useNavigate();return (divh1登录页/h1button onClick{() navigate(/article/1001/jack)}params 传参/button/div); };2.2.3 获取参数 在目标组件中可以使用 useParams 钩子来获取传递的参数 import { useParams } from react-router-dom;const Article () {const { id, name } useParams();return (divh1文章页/h1pID: {id}/ppName: {name}/p/div); };3. 嵌套路由与 Outlet / 在嵌套路由中父路由组件需要使用 Outlet / 组件作为子路由的占位符。当导航到子路由时Outlet / 会被替换为对应的子路由组件。 import { Outlet } from react-router-dom;const Layout () {return (divh1布局页/h1Outlet //div); };在路由配置中Layout 组件作为父路由Home 和 About 作为子路由 const router createBrowserRouter([{path: /,element: Layout /,children: [{path: home,element: Home /,},{path: about,element: About /,},],}, ]);4. 重定向与 redirect 参数 在某些场景下用户可能会尝试访问需要登录的页面但此时用户尚未登录。为了提升用户体验我们可以在用户登录后将其重定向回原本想要访问的页面。为了实现这一功能我们可以在 URL 中添加 redirect 查询参数记录用户原本想要访问的页面。 4.1 添加 redirect 参数 在用户访问需要登录的页面时我们可以通过编程式导航将用户重定向到登录页面并在 URL 中添加 redirect 参数记录原本要访问的页面。 import { useNavigate } from react-router-dom;const ProtectedPage () {const navigate useNavigate();const handleAccess () {const isLoggedIn false; // 假设用户未登录if (!isLoggedIn) {navigate(/login?redirect${encodeURIComponent(/protected-page)});}};return (divh1受保护的页面/h1button onClick{handleAccess}访问受保护页面/button/div); };4.2 登录后重定向 在登录页面中我们可以通过 useSearchParams 获取 redirect 参数并在用户成功登录后将其重定向回原本想要访问的页面。 import { useSearchParams, useNavigate } from react-router-dom;const Login () {const [searchParams] useSearchParams();const navigate useNavigate();const redirect searchParams.get(redirect) || /;const handleLogin () {// 假设登录成功navigate(redirect);};return (divh1登录页/h1button onClick{handleLogin}登录/button/div); };总结 通过 react-router-dom我们可以轻松实现 React 应用中的路由导航、传参以及嵌套路由。Link 和 useNavigate 提供了灵活的导航方式而 useSearchParams 和 useParams 则帮助我们处理路由传参。Outlet / 组件为嵌套路由提供了便捷的占位符功能。此外通过 redirect 参数我们可以在用户登录后将其重定向回原本想要访问的页面从而提升用户体验。掌握这些工具和技巧能够帮助我们构建更加复杂和高效的单页面应用。
http://www.w-s-a.com/news/384299/

相关文章:

  • 茶叶网站开发目的和意义网页设计需要考什么证
  • 高端企业网站建设公司怎么做实用性建设网站都需要哪些
  • 网站备案必须要幕布吗易企秀网站怎么做轮播图
  • 南昌网站排名优化四线城市网站建设方向及营利点
  • 做网站需要钱吗unity 做网站
  • 呼伦贝尔市规划建设局网站wordpress怎么考别人的
  • 免备案自助建站网站成都神速建站
  • 怎样编写app软件快速刷排名seo软件
  • 江苏做家纺的公司网站宣传型企业网站
  • 网站网上商城建设外国一些做环保袋的网站
  • 做空气开关那个网站推广比较好建站技术有哪些
  • 做网站前需要做什么准备wordpress图片云储存
  • 查楼盘剩余房源的网站地方网站推广
  • 农家乐网站建设方案创意平面设计公司简介
  • 信息化建设 网站作用网络营销的形式网站营销
  • 沈阳出名网站潍坊正规建设网站
  • 计算机软件开发需要学什么沈阳网站关键字优化
  • 关于军队建设网站国内最好的wordpress主题
  • 小视频网站如何建设陪诊app开发
  • 英文网站首页优化国外手机网站源码
  • 网站建设公司如何找客户网站建设应该考虑哪些问题
  • 创新的江苏网站建设wordpress用户绑定手机
  • 自己做网赌网站网站设计者
  • 教育培训网站设计辽宁招标工程信息网
  • 韶关网站推广做网站要哪些人员
  • 建设银行网站链接开发公司与物业公司交接清单
  • 网站定位广告企业建网站有这个必要吗
  • 网站模板 商标黄冈建设工程信息网
  • 做鞋子的招聘网站有哪些微网站
  • 项目网站开发建网站 多少钱