用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 路径也会改变。


相关推荐
HIT_Weston1 天前
39、【Ubuntu】【远程开发】拉出内网 Web 服务:构建静态网页(二)
linux·前端·ubuntu
百***06011 天前
SpringMVC 请求参数接收
前端·javascript·算法
天外天-亮1 天前
Vue + excel下载 + 水印
前端·vue.js·excel
起个名字逛街玩1 天前
前端正在走向“工程系统化”:从页面开发到复杂产品架构的深度进化
前端·架构
用户47949283569151 天前
React 渲染两次:是 Bug 还是 Feature?聊聊严格模式的“良苦用心”
前端·react.js·前端框架
用户47949283569151 天前
Code Review 惊魂:同事的“优雅”重构,差点让管理员全部掉线
javascript
b***74881 天前
前端GraphQL案例
前端·后端·graphql
云飞云共享云桌面1 天前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
ganshenml1 天前
sed 流编辑器在前端部署中的作用
前端·编辑器
虚伪的空想家1 天前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm