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;
相关推荐
Junsen6 分钟前
使用 Supabase 实现轻量埋点监控
前端·javascript
Java&Develop8 分钟前
html写一个象棋游戏
javascript·游戏·html
CnLiang15 分钟前
React Compiler Plugin
前端·react.js
willxiao16 分钟前
js 单例模式 6 种实现方式
javascript·设计模式
一只爱吃糖的小羊23 分钟前
React 19 生命周期:从入门到实战的完整指南
前端·react.js
白中白1213839 分钟前
Vue系列-1
前端·javascript·vue.js
JH灰色42 分钟前
【大模型】学习路线
学习
用户新1 小时前
五万字沥血事件 深度学习 事件 循环 事件传播 异步 脱离新手区 成为事件达人
前端·javascript·事件·event loop
林林宋1 小时前
nvidia&cuda&gpu 关系学习
学习
w2sfot1 小时前
JS代码压缩
前端·javascript·html