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 分钟前
使用 MinMix 创建 Tailwindcss 学习网站全流程经验分享
学习
西西学代码17 分钟前
Flutter---路由与导航
服务器·前端·javascript
y = xⁿ25 分钟前
【从零开始学习Redis|第四篇】从底层理解缓存问题:雪崩、击穿、穿透与一致性设计
java·redis·学习·缓存
跟着珅聪学java2 小时前
electron 安装教程
javascript·arcgis·electron
温柔一只鬼.2 小时前
GUI学习——day2
java·开发语言·学习
花哥码天下2 小时前
安装/卸载claude code和codex
开发语言·javascript·ecmascript
跟着珅聪学java2 小时前
Electron 读取 JSON 配置文件教程
前端·javascript·vue.js
Joy T2 小时前
vite is not recognized :一次典型的 Electron/Vite 打包处置手册
javascript·git·electron
yuhaiqiang2 小时前
太牛了🐂,再也没有被AI 骗过,自从用了这个外挂 !必须装上
javascript·人工智能·后端
云边散步2 小时前
godot2D游戏教程系列二(10)
笔记·学习·游戏·游戏开发