用react实现一个简单的三页应用

下面是一个使用 React Router 的简单示例,演示了如何在 React 应用中实现页面之间的导航。


🛠️ 第一步:使用 Vite 创建项目

bash 复制代码
npm create vite@latest my-router-app -- --template react
cd my-router-app
npm install

🚀 第二步:安装 React Router

bash 复制代码
npm install react-router-dom

📁 第三步:修改文件结构

创建目录结构如下:

复制代码
my-router-app/
├─ src/
│  ├─ pages/
│  │  ├─ Home.jsx
│  │  ├─ About.jsx
│  │  └─ User.jsx
│  ├─ App.jsx
│  └─ main.jsx

✏️ 编辑文件内容如下

src/main.jsx

jsx 复制代码
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';

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

src/App.jsx

jsx 复制代码
import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';
import Home from './pages/Home';
import About from './pages/About';
import User from './pages/User';

export default function App() {
  return (
    <Router>
      <nav style={{ marginBottom: 20 }}>
        <Link to="/">首页</Link> | 
        <Link to="/about">关于</Link> | 
        <Link to="/user/42">用户42</Link>
      </nav>

      <Routes>
        <Route path="/" element={<Home />} />
        <Route path="/about" element={<About />} />
        <Route path="/user/:id" element={<User />} />
      </Routes>
    </Router>
  );
}

src/pages/Home.jsx

jsx 复制代码
export default function Home() {
  return <h2>欢迎来到首页!</h2>;
}

src/pages/About.jsx

jsx 复制代码
export default function About() {
  return <h2>这是关于页面。</h2>;
}

src/pages/User.jsx

jsx 复制代码
import { useParams } from 'react-router-dom';

export default function User() {
  const { id } = useParams();
  return <h2>用户页面,ID: {id}</h2>;
}

🧪 第四步:运行项目

bash 复制代码
npm run dev

打开浏览器访问 http://localhost:5173,点击导航链接可以看到不同页面内容,URL 路径也会改变。


相关推荐
南风木兮丶3 分钟前
Vue 项目安装 @antfu/eslint-config 保姆级教程
前端·javascript·vue.js
万少16 分钟前
记 HarmonyOS 开发中的一个小事件 怒提华为工单
前端·harmonyos
未来之窗软件服务18 分钟前
万象EXCEL开发(六)excel单元格运算逻辑 ——东方仙盟金丹期
前端·excel·仙盟创梦ide·东方仙盟·万象excel
Mintopia24 分钟前
🚀 Cesium-Kit:10 秒为你的 Cesium 项目添加动态光效标记
前端·javascript·cesium
Mintopia26 分钟前
🌩️ 云边协同架构下的 WebAI 动态资源调度技术
前端·javascript·aigc
Olrookie28 分钟前
若依前后端分离版学习笔记(十六)——scoped、路由跳转
前端·笔记
qaqxiaolei28 分钟前
高效办公利器:前端实现表格导出excel格式 + 自定义水印的完整方案
前端·javascript
叫我詹躲躲31 分钟前
为什么Bun.js能在3秒内启动一个完整的Web应用?
前端·javascript·bun
Olrookie31 分钟前
若依前后端分离版学习笔记(十七)——ruoyi开发规范&流程,请求流程,依赖引入,组件注册&通信
前端·笔记
Keepreal49632 分钟前
谈谈对闭包的理解以及常见用法
前端·javascript