react:路由

官方文档:https://reactrouter.com/en/main/start/overview#pending-navigation-ui

一:简单版本

先 npm i react-router-dom

main.ts中内容替换为

javascript 复制代码
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import './index.css'
import {
  createBrowserRouter,
  RouterProvider,
  Route,
  Link,
} from "react-router-dom";

const router = createBrowserRouter([
  {
    path: "/",
    element: (
      <div>
        <h1>Hello World</h1>
        <Link to="about">About Us</Link>
      </div>
    ),
  },
  {
    path: "about",
    element: <div>About</div>,
  },
]);

ReactDOM.createRoot(document.getElementById('root')!).render(
  // <React.StrictMode>
  //   <App />
  // </React.StrictMode>,
  <RouterProvider router={router} />
)

方式二:

// 页面、编程式跳转

main.ts

typescript 复制代码
import ReactDOM from 'react-dom/client'
import App from './App.tsx'
import Page1 from './pages/page1.tsx'
import Page2 from './pages/page2.tsx'
import './index.css'
import {
  createBrowserRouter,
  RouterProvider,
  Route,
  Link,
} from "react-router-dom";

const router = createBrowserRouter([
  {
    path: "/",
    element: <Page1 />,
  },
  {
    path: "about",
    element: <Page2 />,
  },
]);

ReactDOM.createRoot(document.getElementById('root')!).render(
  // <React.StrictMode>
  //   <App />
  // </React.StrictMode>,
  <RouterProvider router={router} />
)

page1.tsx

typescript 复制代码
import { useNavigate } from 'react-router-dom'
 const  page1 = () => {
    const naviagte = useNavigate()
    return <div>
        page1
        <button onClick={() => {
            naviagte('/about')
        }}>去page2</button>
    </div>
}

export default page1

page2.tsx

typescript 复制代码
const  page2 = () => {
    return <div>
        page2
    </div>
}

export default page2
相关推荐
kyriewen15 小时前
我用 Codex 重写了同事维护三年的代码,他没说谢谢——而是找了领导
前端·javascript·ai编程
OpenTiny社区15 小时前
从零开发 AI 聊天页要两周?试试这款 Vue3 垂直对话组件库 TinyRobot,直接开箱即用
前端·vue.js·github
铁皮饭盒15 小时前
S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
前端·javascript·后端
Cobyte15 小时前
22.Vue Vapor 组件 props 的实现
前端·javascript·vue.js
lichenyang45315 小时前
从 has.showToast 看 ASCF 的 API 调用链路
前端
张就是我10659217 小时前
DOMPurify 的一个漏洞:你以为 {} 是空的?
前端
疯狂的魔鬼17 小时前
一套 Schema 驱动四视图:记 useCrudSchemas 的设计与实践
前端·javascript·typescript
风骏时光牛马17 小时前
大模型开发工具高频故障与实操问题汇总代码案例大全
前端
hoLzwEge17 小时前
pnpm vs npm:新一代包管理器的范式革命
前端框架·node.js
没落英雄17 小时前
2. 让 Agent 能读写文件、执行命令 —— LocalShellBackend 实战
前端·人工智能·架构