最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

umi插件開發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解

 更新時(shí)間:2023年01月28日 09:46:30   作者:kukiiu  
這篇文章主要為大家介紹了umi插件開發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

前面我們已經(jīng)完成了頁(yè)面布局和頁(yè)面路由,現(xiàn)在我們的導(dǎo)航欄還是自己寫死在代碼中,現(xiàn)在我們來改造成自動(dòng)根據(jù)頁(yè)面路由來生成導(dǎo)航欄。

獲取路由信息

我們?cè)谇懊鎰?chuàng)建的路由對(duì)象,會(huì)被umi存入appData對(duì)象中,umi提供了useAppDataAPI可以用于獲取路由信息。

創(chuàng)建獲取導(dǎo)航數(shù)據(jù)hook

// /src/client/theme-api/useNavData.ts
import { useAppData } from "umi";
/**
 * hook for get nav data
 */
export const useNavData = () => {
  // 獲取全局路由信息
  const { routes } = useAppData();
  // 獲取/docs下的路由信息
  const localeDocRoutes: any[] = 
      Object.values(routes).filter(route => route.parentId === 'DocLayout')
  // 獲取導(dǎo)航信息
  const nav: any = []
  Object.values(localeDocRoutes).forEach(route => {
    const _r = { ...route }
    if(_r.path == '/') {
      nav.push({
        title: '首頁(yè)',
        link: '/',
      })
    } else {
      nav.push({
        title: route.path,
        link: '/' + route.path,
      })
    }
  })
  return nav;
};

Layout中使用

// /src/client/theme-default/layouts/DocLayout.ts
import { Link, Outlet } from 'umi';
import { useNavData } from '@/client/theme-api/useNavData';
import styles from './index.less';
export default function Layout() {
  const nav = useNavData()
  return (
    <div className={styles.navs}>
      <ul>
          {nav.map((item: any) => (<li key={item.link}>
              <Link style={{ marginRight: '10px' }} to={item.link}>{item.title}</Link>
          </li>))}
      </ul>
      <Outlet />
    </div>
  );
}

以上就是umi插件開發(fā)仿dumi項(xiàng)目自動(dòng)生成導(dǎo)航欄實(shí)現(xiàn)詳解的詳細(xì)內(nèi)容,更多關(guān)于umi插件自動(dòng)生成導(dǎo)航欄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

定襄县| 西盟| 蒙山县| 郎溪县| 克山县| 马边| 常宁市| 锡林郭勒盟| 玉溪市| 郎溪县| 应用必备| 彩票| 石狮市| 西城区| 泸溪县| 抚州市| 中西区| 荆州市| 蛟河市| 桂林市| 自治县| 桂林市| 西充县| 石嘴山市| 罗源县| 临朐县| 北辰区| 唐海县| 榆社县| 东兴市| 东明县| 彭泽县| 太保市| 星子县| 平安县| 上思县| 垣曲县| 林周县| 嘉兴市| 游戏| 绵阳市|