首页 > 其他分享 >react+antd面包屑导航

react+antd面包屑导航

时间:2023-06-07 17:11:08浏览次数:31  
标签:index const element react lazyLoad import antd path 面包屑

根据以前写vue面包屑写的。 
 import {   
    useLocation,
    matchRoutes,
  } from "react-router-dom";
const location = useLocation();
import router from './router'
 useEffect(() => {
     // router全部路由
       const matched  = matchRoutes(router, location.pathname);
       const n = matched.length;
       let breadcrumb = [];
       if(n > 0) {
        const routes = matched[n - 1].route;
        breadcrumb  = routes.meta || [];
       
        console.log('routes',routes)
       }
 
         console.log('面包屑导航', breadcrumb)
     
         
    },[location.pathname]);

router.js路由文件
import React, { Suspense, lazy } from 'react'
import Layout from '../views/Layout/index'
const Home = lazy(() => import('../views/home/index'))
const List = lazy(() => import('../views/list/index'))
const Test = lazy(() => import('../views/test/index'))
const Detail = lazy(() => import('../views/detail/index'))
const DetailTest = lazy(() => import('../views/detail/test1/index'))
const DetailTest2 = lazy(() => import('../views/detail/test2/index'))
const lazyLoad = (children) => {
    return <Suspense fallback={<div>loading……</div>}>
        {children}
    </Suspense>
}
const router = [
    {
        path: "/",
        element: <Layout />,
        children: [
            {
                index: true,
                element: lazyLoad(<Home />)
            },
            // {
            //     path: 'list/:id',
            //     element: lazyLoad(<List />)
            // },
            {
                path: 'list',
                element: lazyLoad(<List />)
            },
            {
                path: 'detail',
                element: lazyLoad(<Detail />),
              
                children: [
                    {
                        
                        path: 'test1',
                        element: lazyLoad(<DetailTest />),
                        meta: [
                            {
                                title: '详情页'
                            },
                            {
                                title: '详情页列表',
                                path: ''
                            },
                    ]
                    },
                    {
                        path: 'test2',
                        element: lazyLoad(<DetailTest2 />),
                    }
                ]
            },
            // {
            //     path: 'detail/:id',
            //     element: lazyLoad(<Detail />)
            // },
            {
                path: 'test',
                element: lazyLoad(<Test />)
            }
        ]
    }
];

export default router

 

标签:index,const,element,react,lazyLoad,import,antd,path,面包屑
From: https://www.cnblogs.com/whlBooK/p/17463959.html

相关文章

  • Vue3 之 响应式 API reactive、 effect源码,详细注释
    Vue3之响应式APIreactive、effect源码,详细注释目录一.实现响应式API:reactive、shallowReactive、readonly、shallowReadonly1.针对不同的API创建不同的响应式对象2.实现createReactiveObject3.实现不同的拦截函数baseHandlers.ts二.实现响应式effect1.创建响应式的......
  • AntDB数据库入选艾媒金榜《2023年中国信创数据库企业TOP15》,位列前三
    近日,iiMediaRanking艾媒金榜最新公布了《2023年中国信创数据库企业TOP15》榜单,AntDB数据库凭借先进的技术服务及近些年在信创市场的优异表现进入榜单前三。图1:艾媒金榜《2023年中国信创数据库企业TOP15》iiMediaRanking艾媒金榜《2023年中国信创数据库企业TOP15》是依托艾媒自主......
  • 如何在2023年开启React项目
    在这里,我想给你一个新的React项目入门的简要概述。我想反思一下优点和缺点,反思一下作为一个开发者所需要的技术水平,反思一下作为一个React开发者,每个启动项目都能为你提供哪些功能。最后,你将了解到针对不同需求的3种解决方案。免责声明:从个人开发者的角度来看,我完全支持React团队......
  • 如何在运行并调试React Native App
     1.进入工程目录,启动:Metro  npxreact-nativestart 2.然后在新的terminal窗口中运行app   npxreact-nativerun-ios第1,2步参考:https://reactnative.dev/docs/environment-setup#running-your-react-native-application这时你的程序应该运行起来了。每次操作可......
  • 如何设计React应用程序的样式——比较不同的选项
    样式在创建具有视觉吸引力和用户友好的Web应用程序方面起着至关重要的作用。对于React应用程序,可以通过多种方式来设置组件和UI元素的样式。在本文中,我们将探讨几个流行的选项,包括纯CSS、CSS模块、CSS预处理器、TailwindCSS、CSS-in-JS库(如StyledComponents)以及预构......
  • vite + react + arco-design-mobile 使用 babel-plugin-import 实现按需加载
    0.什么是vite?vite是一种新型前端构建工具。一个开发服务器,它基于原生ES模块提供丰富的内建功能一套构建指令,它使用Rollup打包你的代码,可输出用于生产环境的高度优化过的静态资源1.什么是babel?babel是一个javasctipt编译器,他是一个工具链,主要用于在当前浏览器和旧浏览器......
  • 二、Spring Reactive Security自定义登录页
    添加配置类:@ConfigurationpublicclassMyReactiveSecurityConfig{@BeanpublicReactiveUserDetailsServicereactiveUserDetailsService(){UserDetailsuser=User.withUsername("user").password("12345")......
  • 一、Spring Reactive Security简单使用
    SpringReactiveSecurity是结合SpringWebFlux使用的。结合SpringBoot使用,简化了大量配置。 新建SpringBoot项目,添加依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>......
  • React学习时,自己拟定的一则小案例(table表格组件,含编辑)
    某次在Uniapp群看到有人问uniapp如何操作dom元素。他想对这张表标红的区域,做dom元素获取,因为产品想让红色色块点击时,成为可编辑,渲染1~4月份之间的行程安排。于是,有小伙伴说让他用position定位这里,点击时使红色色块层级抬高,弄个input上去。但提问的小伙伴并没有决定这么做,随后......
  • 【React工作记录八十七】React+antDesign实现上传图片功能(类组件)
    前言大家好我是歌谣今天继续给大家带来工作中实战部分的一些代码的封装和认识需求实现1可以支持上传最多九张图片2图片支持预览替换删除3支持自定义上传文件大小格式未上传提示实现效果子组件封装UploadImage组件*@Description:公共上传图片*@param{Array}type图片......