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

广东省 网站建站网站建设标志头像图片

广东省 网站建站,网站建设标志头像图片,wordpress极简中文主题,网站内容填写15、react-route 主要是提供了一些组件: 15.1 Route: Route用于路径的匹配; path属性:用于设置匹配到的路径;omponent属性:设置匹配到路径后,渲染的组件;exact:精准匹…

15、react-route

主要是提供了一些组件:

15.1 Route:

Route用于路径的匹配;

  • path属性:用于设置匹配到的路径;
  • omponent属性:设置匹配到路径后,渲染的组件;
  • exact:精准匹配,只有精准匹配到完全一致的路径,才会渲染对应的组件

15.2 Link以及NavLink

  • 通常路径的跳转是使用Link组件,最终会被渲染成a元素;

  • NavLink是在Link基础之上增加了一些样式属性;

    添加自定义样式activeClassName已经被放弃了,现在是动态添加class

     className={({ isActive }) => (isActive ? "link-active" : "")}
    

    exact:是否精准匹配,在 React Router v6 及以上版本已经不再使用

  • to属性:Link中最重要的属性,用于设置跳转到的路径;

15.3 Routes

react-router中只要是路径被匹配到的Route对应的组件都会被渲染;

  • 匹配当前 URL,只渲染第一个匹配的 <Route>
  • 替代了 v5 里的 <Switch>,并且只能包裹 <Route><React.Fragment>
  • 让路由跳转和嵌套路由更简单、性能更好。

15.4 Navigate

<Navigate /> 是 React Router v6 及以上版本中用于重定向的组件。

  • 当组件渲染 <Navigate to="/login" /> 时,页面会自动跳转到 /login 路由。

举个例子:user页面如果登录了就显示用户名字,如果没有就要跳转到登录界面

export default class User extends PureComponent {constructor(props) {super(props);this.state = {username: 'Guest',isLogin: true};}render() {// 重定向的应用:如果是登录状态,则显示用户名,否则重定向到登录页return this.state.isLogin ? (<div><h2>User Page</h2><p>Username: {this.state.username}</p><p>Status: {this.state.isLogin ? 'Logged In' : 'Logged Out'}</p></div>) : <Navigate to="/login" />;}
}

15.5 路由的嵌套

举个例子:关于下面的子路由

在这里插入图片描述

主要步骤:

1、父组件配置子路由:

 <Route path="/about/*" element={<About />} />

/*:配置子路由

2、NavLink:

 <NavLinkto="/about"endclassName={({ isActive }) => (isActive ? "about-link" : "")}>企业历史</NavLink><NavLinkto="/about/culture"className={({ isActive }) => (isActive ? "about-link" : "")}>企业文化</NavLink><NavLinkto="/about/contact"className={({ isActive }) => (isActive ? "about-link" : "")}>联系我们</NavLink>
  • 这里使用的是绝对路径,使用相对路径会出现路径的叠加
  • 默认路由要添加end,因为我们使用的是绝对路径,不添加end就是模糊匹配了,这样的话默认路由一直有样式。end 属性的作用是:只有当前路径完全等于 to 的值时才激活该链接。

3、配置Routes

 <Routes>{/* 默认子路由填写index */}{/* 使用相对路径 */}<Route index element={<History />} /><Route path="culture" element={<Culture />} /><Route path="contact" element={<Contact />} /></Routes>

这里要使用相对路径了

默认路由添加index,index用于设置父路由下的默认子页面。

15.6 参数传递

动态路由的方式:

NavLink:拼接字符串,注意是路径参数/about/bcd/name=${name}

     <NavLink to={`/about/bcd/name=${name}`} state={{ from: "about" }} replace>bcd</NavLink>

Route: :name

 <Route path="bcd/:name" element={<Bcd />} />

获取参数:

import { useParams } from "react-router-dom";export default function Bcd() {console.log("Bcd组件渲染");const { name } = useParams(); // 正确获取路由参数console.log(name);return <h2>Detail页面,name: {name}</h2>;
}

个人觉得函数组件获取要方便一点,获取参数更简单、代码更现代。

15.7 v6 推荐的路由配置方式

  1. 直接用 和 组件(你现在的写法就是 v6 推荐方式)
  2. 或者用 useRoutes 实现配置式路由
http://www.dtcms.com/wzjs/550482.html

相关文章:

  • html5网站制作编辑源码建设网站管理规定
  • 菏泽郓城住房和城乡建设局网站服务营销的概念
  • 重庆建设施工安全管理网站wordpress 自带主题
  • 常州seo建站网站规划的任务
  • 过时的网站被他人备案后做违法网站
  • 太原网站建设谁家好漳州最专业的网站建设公司
  • 抚州做网站磁力搜索器 磁力猫
  • 做网站内容都有哪些jsp做的网站怎嘛用
  • 网站高端设计公司网络营销工具中最基本最重要的是
  • 怎么做镜像网站wordpress壁纸主题
  • 哈佛门户网站建设特点太原网站建设乛薇
  • 英文wordpress自动采集购物网站seo搜索引擎前期分析
  • 自助服务器网站建设招聘网站如何做推广
  • 如何在iis下建设网站重庆网页优化seo
  • 网站开发设计文案吉林市做网站公司
  • dedecms下载站东莞网络外包公司
  • 内力网站建设网站建设收费标准信息
  • 电话用网站做综合布线建筑行业的公司有哪些
  • 建站案例网站建设实训实训心得
  • 海外网站建设公司如何用python 做网站
  • 京东优惠劵网站怎么做服装定制的宣传广告
  • 做五金国际网站哪个好网页设计代码是怎么加链接
  • 提供佛山网站制作交互设计考研太难了
  • wordpress适用于任何网站吗网站服务器配置
  • 合同网站开发 设计 后期维护app软件做得比较好的公司
  • 网站右侧悬浮代码吴江网站建设公司
  • 云服务器 做网站wordpress图片间隙
  • 汕头网站设计浩森宇特上海莱布拉网站建设
  • 微信端网站开发模板河北建设工程信息网可登录中项网
  • 深圳建设网站制作游戏介绍网站模板