首页 > 其他分享 >二级多级子路由时,react面包屑获取及处理

二级多级子路由时,react面包屑获取及处理

时间:2023-01-03 11:34:25浏览次数:43  
标签:--- layout log react const 面包屑 路由

 

因react-router中路由配置时,子路由为父级路由+子路由拼接而成,故当实现面包屑时需要根据当前路由获取完整的父子路由链
    
入参:如 /layout/list/showList
出参:如 ['/layout', '/layout/list', '/layout/list/showList']

 



import { Breadcrumb } from 'antd';
import { Link, useLocation } from 'react-router-dom';


const location = useLocation(); console.log('---00---', location.pathname) const pathSnippets = location.pathname.split('/').filter((i) => i); console.log('---11---', pathSnippets) const extraBreadcrumbItems = pathSnippets.map((_, index) => { const url = `/${pathSnippets.slice(0, index + 1).join('/')}`; console.log('---22---', url) return ( <Breadcrumb.Item key={url}> <Link to={url}>{url}</Link> </Breadcrumb.Item> ); }); console.log('---33---', extraBreadcrumbItems)


使用
<Breadcrumb separator='>'>{extraBreadcrumbItems}</Breadcrumb>

 

 

 

 

效果(名字未做更改,根据实际需要修改)

 

 

官方

https://ant.design/components/breadcrumb-cn

 

标签:---,layout,log,react,const,面包屑,路由
From: https://www.cnblogs.com/-roc/p/17021587.html

相关文章

  • 面试官:说说React-SSR的原理
    前言所谓同构,简而言之就是,第一次访问后台服务时,后台直接把前端要显示的界面全部返回,而不是像SPA项目只渲染一个<divid="root"></div>剩下的都是靠JavaScript脚本去......
  • 字节前端必会react面试题
    React中keys的作用是什么?Keys是React用于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识。在React中渲染集合时,向每个重复的元素添加关键字对于帮助Reac......
  • 面试官:你是怎样进行react组件代码复用的
    mixinMixin设计模式Mixin(混入)是一种通过扩展收集功能的方式,它本质上是将一个对象的属性拷贝到另一个对象上面去,可以拷贝多个属性到一个对象上,为了解决代码复用问题。常......
  • 阿里前端二面必会react面试题总结
    非嵌套关系组件的通信方式?即没有任何包含关系的组件,包括兄弟组件以及不在同一个父级中的非兄弟组件。可以使用自定义事件通信(发布订阅模式)可以通过redux等进行全局状态......
  • React中组件之间是如何通信的 react的组件通信方式有哪些
    一、是什么通信指的是发送者通过某种媒体以某种格式来传递信息到收信者以达到某个目的,广义上,任何信息的传递都是通信二、如何通信?组件传递的方式有很多种,根据传送......
  • react 项目的性能优化
    react项目的性能优化有哪些?1、react模块化处理就是将react内容进行模块化划分,一个模块一个组件,react更新机制是组件重新更新2、在react项目中更新数据,不要直接将......
  • 重新捋一捋React源码之更新渲染流程
    前言前些天在看DanAbramov个人博客(推荐阅读,站在React开发者的角度去解读一些API的设计初衷和最佳实践)里的一篇文章,其重点部分的思想就是即使不使用Memo(),也可以通过组合......
  • 面试官:React怎么做性能优化
    前言最近一直在学习关于React方面的知识,并有幸正好得到一个机会将其用在了实际的项目中。所以我打算以博客的形式,将我在学习和开发(React)过程中遇到的问题记录下来。这两......
  • 面试官让你说说react状态管理?
    开发者普遍认为状态是组件的一部分,但是同时却又在剥离状态上不停的造轮子,这不是很矛盾么?对于一个最简单的文本组件而言functionText(){const[text,setText]=......
  • 校招前端一面经典react面试题(附答案)
    React.forwardRef是什么?它有什么作用?React.forwardRef会创建一个React组件,这个组件能够将其接受的ref属性转发到其组件树下的另一个组件中。这种技术并不常见,但在以下......