vite 初始化react项目

一. 初始化

复制代码
npm create vite@latest
  • Project name 项目名,例如:todo-list

  • Select a framework 选:React

  • Select a variant 选:TypeScript

    npm install //安装依赖
    npm run dev //启动项目

这样一个简单的react项目就实现了。

二. 添加路由

复制代码
npm install react-router-dom
  1. 修改main.tsx文件,使用BrowserRouter包裹

    import React from 'react'
    import App from './App.tsx'
    import ReactDOM from 'react-dom/client'
    import { BrowserRouter } from 'react-router-dom'

    ReactDOM.createRoot(document.getElementById('root')!).render(
    <React.StrictMode>
    <BrowserRouter>
    <App />
    </BrowserRouter>
    </React.StrictMode>
    )

  2. 创建页面组件src/pages,创建页面。
    例:src/pages/Home.tsx

    export default function Home() {
    return (

    Home

    )
    }

  3. 在App.tsx中引入页面,页面使用包裹,使用Link进行页面跳转

    import { Routes, Route, Link } from 'react-router-dom'
    import Home from './pages/Home'
    import About from './pages/About'

    function App() {
    return (


    复制代码
       <Routes>
         <Route path="/" element={<Home />} />
       </Routes>
     </div>

    )
    }

    export default App

    npm run dev 启动项目

三. 封装路由

为了更方便维护,可以直接将路由配置封装到专门的文件内。

创建路由组件src/router/index.tsx

index.tsx

复制代码
import { createBrowserRouter } from 'react-router-dom'
import Home from '@/pages/Home'
import About from '@/pages/About'

const router = createBrowserRouter([
  {
    path: '/',
    element: <Home />,
  },
  {
    path: '/about',
    element: <About />,
  },
  ...
])

export default router

我删除了app.tsx文件,直接在main.tsx中创建App渲染。

复制代码
import ReactDOM from "react-dom/client";
import { RouterProvider } from "react-router-dom";
import router from "@/router";

const App = () => {
  return <RouterProvider router={router} />;
};

ReactDOM.createRoot(document.getElementById("root")!).render(<App />);

npm run dev 启动项目
相关推荐
落魄江湖行12 小时前
进阶篇五 Nuxt4 部署方案:从开发到生产
前端·vue.js·typescript·nuxt4
懂懂tty12 小时前
Rspack简介
前端
开心码农1号12 小时前
Go关于切边变量本身地址和内部指向地址
前端·算法
一个打工仔的笔记12 小时前
vue3 elementui plus 可编辑表格 完整例子
前端·vue.js·elementui
IT_陈寒12 小时前
SpringBoot自动配置把我坑惨了,原来它偷偷干了这么多事
前端·人工智能·后端
nodcloud12 小时前
Chrome 142 更新导致点可云报表助手打印异常:启动服务仍提示启动的解决方案
前端·数据库·chrome
ZC跨境爬虫12 小时前
3D地球卫星轨道可视化平台开发Day2(轨道错位Bug修复+模块化结构优化)
前端·3d·html·json·bug
ZC跨境爬虫12 小时前
3D 地球卫星轨道可视化平台开发 Day1(3D 场景、卫星渲染与筛选交互实现)
前端·3d·html·json·交互
研究点啥好呢12 小时前
Github热榜项目推荐 | React生态系统的成熟演进
前端·react.js·github
daols8812 小时前
vxe-table 自定义数字行主键,解决默认字符串主键与后端类型不匹配问题
前端·javascript·vue.js·vxe-table