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;
相关推荐
QiZhang | UESTC6 分钟前
学习日记day58
学习
JeffDingAI9 分钟前
【Datawhale学习笔记】基于Gensim的词向量实战
人工智能·笔记·学习
好奇龙猫1 小时前
【大学院-筆記試験練習:线性代数和数据结构(11)】
学习
何以不说话2 小时前
mysql 的主从复制
运维·数据库·学习·mysql
wm10432 小时前
大模型学习day01 python基础
学习
Hello_Embed2 小时前
RS485 双串口通信 + LCD 实时显示(DMA+IDLE 空闲中断版)
笔记·单片机·学习·操作系统·嵌入式·freertos
徐子元竟然被占了!!3 小时前
常用端口学习
运维·网络·学习
Miketutu3 小时前
Flutter学习 - 组件通信与网络请求Dio
开发语言·前端·javascript
摘星编程3 小时前
React Native for OpenHarmony 实战:Swiper 滑动组件详解
javascript·react native·react.js
XH华3 小时前
数据结构第九章:树的学习(上)
数据结构·学习