当前位置:首页 > React

如何写react项目

2026-01-24 15:54:52React

创建React项目

使用Create React App(CRA)快速初始化项目,这是官方推荐的脚手架工具。运行以下命令生成项目结构:

npx create-react-app my-app
cd my-app
npm start

项目结构组织

典型React项目目录建议如下:

src/
├── components/   # 可复用UI组件
├── pages/        # 页面级组件
├── hooks/        # 自定义Hook
├── utils/        # 工具函数
├── styles/       # 全局样式
├── assets/       # 静态资源
└── App.js        # 根组件

组件开发

函数组件示例:

import React from 'react';

const Button = ({ onClick, children }) => {
  return (
    <button 
      className="primary-btn"
      onClick={onClick}
    >
      {children}
    </button>
  );
};

export default Button;

状态管理

使用React Hooks管理组件状态:

import { useState, useEffect } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  useEffect(() => {
    document.title = `You clicked ${count} times`;
  }, [count]);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>
        Increment
      </button>
    </div>
  );
}

路由配置

使用React Router实现页面导航:

如何写react项目

npm install react-router-dom

基本路由设置:

import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';

function App() {
  return (
    <Router>
      <Routes>
        <Route path="/" element={<HomePage />} />
        <Route path="/about" element={<AboutPage />} />
      </Routes>
    </Router>
  );
}

样式处理

CSS模块化方案(文件名需包含.module.css后缀):

import styles from './Button.module.css';

function Button() {
  return <button className={styles.primary}>Click</button>;
}

API调用

使用fetch或axios进行数据请求:

如何写react项目

import { useState, useEffect } from 'react';
import axios from 'axios';

function UserList() {
  const [users, setUsers] = useState([]);

  useEffect(() => {
    axios.get('/api/users')
      .then(response => setUsers(response.data));
  }, []);

  return (
    <ul>
      {users.map(user => (
        <li key={user.id}>{user.name}</li>
      ))}
    </ul>
  );
}

构建与部署

生成生产环境构建包:

npm run build

部署到静态服务器如Netlify或Vercel,或通过nginx配置:

server {
  listen 80;
  location / {
    root /path/to/build;
    try_files $uri /index.html;
  }
}

性能优化

代码分割实现懒加载:

const LazyComponent = React.lazy(() => import('./HeavyComponent'));

function App() {
  return (
    <Suspense fallback={<Spinner />}>
      <LazyComponent />
    </Suspense>
  );
}

测试策略

使用Jest和React Testing Library编写测试:

import { render, screen } from '@testing-library/react';
import Button from './Button';

test('renders button with text', () => {
  render(<Button>Click me</Button>);
  expect(screen.getByText(/click me/i)).toBeInTheDocument();
});

标签: 如何写项目
分享给朋友:

相关文章

vue实现项目依赖

vue实现项目依赖

Vue 项目依赖的实现方法 使用 npm 或 yarn 安装依赖 通过 npm 或 yarn 安装项目所需的依赖包。在项目根目录下运行以下命令安装 Vue 及相关库: npm install vue…

uniapp项目实战

uniapp项目实战

创建UniApp项目 通过HBuilderX新建项目,选择UniApp模板,填写项目名称和存储路径。根据需求选择默认模板或自定义配置,如Vue3版本支持。 配置基础环境 在manifest.js…

vue实现的项目

vue实现的项目

Vue 项目实现方法 使用 Vue.js 实现项目通常涉及以下关键步骤和技术要点。 项目初始化 通过 Vue CLI 或 Vite 创建项目框架。Vue CLI 提供标准化模板,适合传统项目;Vit…

vue项目怎么实现分页

vue项目怎么实现分页

实现分页的基本思路 在Vue项目中实现分页功能,通常需要结合后端API返回的分页数据(如当前页码、每页条数、总条数等)和前端组件展示。以下是常见的实现方式: 使用Element UI的分页组件 El…

vue实现项目的渲染

vue实现项目的渲染

Vue 项目渲染的实现方式 Vue.js 提供了多种渲染项目的方式,包括客户端渲染(CSR)、服务端渲染(SSR)和静态站点生成(SSG)。以下是常见的实现方法: 客户端渲染(CSR) Vue 的默…

vue项目实现设备树

vue项目实现设备树

Vue 项目实现设备树的方法 使用树形组件库 Element UI、Ant Design Vue 等流行 UI 框架提供现成的树形组件。以 Element UI 为例: <template&g…