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;
相关推荐
fs哆哆38 分钟前
PDFsharp库的加密功能-学习笔记
笔记·学习
qzhqbb5 小时前
神经网络—— 学习与感知器(细节补充)
神经网络·学习
风暴之零6 小时前
卡尔曼滤波学习
人工智能·学习·机器学习
2401_860319527 小时前
【无标题】
开发语言·学习·rust
Nebula_g8 小时前
C语言应用实例:解方程(二分查找)
c语言·开发语言·学习·算法·二分查找·基础
三品吉他手会点灯8 小时前
stm32f103学习笔记-16-RCC(第2节)-讲解系统时钟配置函数SetSysClockTo72()
笔记·stm32·单片机·嵌入式硬件·学习
视图猿人8 小时前
RxJS基本使用及在next.js中使用的例子
开发语言·javascript
wdfk_prog9 小时前
[Linux]学习笔记系列 -- [kernel]cpu
linux·笔记·学习
bitbitDown9 小时前
从零打造一个 Vite 脚手架工具:比你想象的简单多了
前端·javascript·面试
dxnb2210 小时前
【Datawhale25年11月组队学习:hello-agents+Task1学习笔记】
人工智能·学习