react hooks 学习之react router v6 路由表配置

/ 如果你是在ts中,那么这个这个文件名是router.ts那么这个<Home/>这里会报eslint错误,所以为了解决这个错误,直接改成router.tsx就行

javascript 复制代码
import { RouteObject } from 'react-router-dom';
import Home from '../page/Home';
import About from '../page/About';

// react router v6·路由配置
const routes: RouteObject[] = [
  {
    path: '/',
    element: <Home />,
  },
  {
    path: '/about',
    element: <About />,
  },
  {
    path: '*',
    element: <div>404</div>,
  }
];

export default routes;

如果说你非要用.ts也行,就像下边这样,可以避免eslint报错

javascript 复制代码
// elements.tsx
import React from 'react';
import Home from '../page/Home';
import About from '../page/About';

export const HomeElement = <Home />;
export const AboutElement = <About />;

// routes.ts
import { RouteObject } from 'react-router-dom';
import { HomeElement, AboutElement } from './elements';

const routes: RouteObject[] = [
  {
    path: '/',
    element: HomeElement,
  },
  {
    path: '/about',
    element: AboutElement,
  },
];

export default routes;

然后就是app.tsx中渲染问题,v6版本的useRoutes很好用

javascript 复制代码
// App.tsx
import React from 'react';
import { useRoutes } from 'react-router-dom';
import routes from './router'; // 导入路由配置

function App() {
  const routing = useRoutes(routes);
  return (
    <div>
      {routing}
    </div>
  );
}

export default App;
相关推荐
光影少年12 分钟前
WebGIS 和GIS学习路线图
学习·前端框架·webgl
阿道夫小狮子14 分钟前
Android 反射
android·前端·javascript
૮・ﻌ・19 分钟前
Vue2(三):自定义指令、插槽、路由
前端·javascript·vue.js
遇到困难睡大觉哈哈24 分钟前
Harmony os 卡片传递消息给应用(message 事件)详细介绍
java·服务器·javascript·harmonyos·鸿蒙
我想我不够好。34 分钟前
学会思考问题
学习
半梅芒果干38 分钟前
vue3 网站访问页面缓存优化
前端·javascript·缓存
im_AMBER39 分钟前
Leetcode 65 固定长度窗口 | 中心辐射型固定窗口
笔记·学习·算法·leetcode
d111111111d43 分钟前
STM32外设学习--PWR电源控制
笔记·stm32·单片机·嵌入式硬件·学习
王大宇_44 分钟前
word对比工具从入门到出门
前端·javascript
jackaso1 小时前
ES6 学习笔记2
前端·学习·es6