路由配置-react
一、简单的配置
1.安装
npm i react-router-dom;
2.配置APP.js
import React from "react";
import { Router } from './routers/router';
function App() {
return (
<Router />
);
}
export default App;
3.配置router文件夹
3.1 config.js
import Home from 'src/pages/Home';
import About from 'src/pages/About';
// 整体路由列表,根据路由规则,path长的需放在上方,请注意!!!!
/*
{
path: '', // 路由
component: '', // 组件
exact: false,
noMenu: true // true没有菜单
},
*/
export const routeList = [
{
path: '/about',
component: About,
exact: false,
},
{
path: '/',
component: Home,
exact: false
},
];
3.2 router.js
import React from 'react';
import { HashRouter, Route, Switch } from 'react-router-dom';
import { routeList } from './config';
const getRouters = () => {
return (
<HashRouter>
<Switch>
{
routeList.map((route) => {
return (
<Route key={route.path} path={route.path} render={() => {
return <route.component/>
}}/>
)
})
}
</Switch>
</HashRouter>
)
};
const Router = () => {
const tempRouters = getRouters()
return tempRouters
}
export {
Router
};
基础配置完成!
二、自动化导入多模块路由文件
1.配置router文件夹下的config.js
const routerAry = []
// 自动加载modules目录下的 .js 结尾的文件
const requireRouter = require.context("./modules", false, /\.js$/);
requireRouter.keys().forEach(fileName => {
const routerConfig = requireRouter(fileName);
routerAry.push(...routerConfig?.routes);
});
export const routeList = [
{
path: '/login',
// component: load('login'),
meta: {
requireAuth: false,
title: '登录'
}
},
...routerAry
]
2.配置modules路由模块文件
2.1 about.js
import About from 'src/pages/About';
export const routes = [
{
path: '/about',
component: About,
},
]
2.2 home.js
import Home from 'src/pages/Home';
export const routes = [
{
path: '/home',
component: Home,
},
]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通