React 前端框架入门教学


React 是目前最流行的前端框架之一,由 Facebook 开发和维护。它主要用于构建用户界面,强调组件化开发高效更新。在本文中,我们将从零开始,逐步学习 React 的核心概念和基本用法。即使你是初学者,也能通过本文入门。


一、什么是 React?

React 是一个用于构建用户界面的 JavaScript 库,它的特点包括:

  1. 组件化开发:将 UI 划分为独立的、可复用的组件,便于维护和扩展。
  2. 声明式编程:通过声明式代码描述 UI 状态,React 会高效地更新和渲染需要改变的部分。
  3. 虚拟 DOM:React 使用虚拟 DOM 机制来提升性能,将变化计算后再一次性更新真实 DOM。

二、React 环境搭建

我们将通过 create-react-app 快速创建一个 React 项目。

1. 准备工具
  • Node.js :下载并安装 Node.js,安装后会自带 npm 包管理工具。
  • 代码编辑器 :推荐使用 VS Code
2. 创建项目

打开终端,运行以下命令:

复制代码
npx create-react-app my-react-app

这会创建一个名为 my-react-app 的 React 项目。

3. 启动项目

进入项目文件夹并启动开发服务器:

复制代码
cd my-react-app
npm start

浏览器会自动打开并显示一个 React 默认页面。


三、React 核心概念

1. 组件(Component)

组件是 React 的核心,可以理解为一个独立的 UI 模块。组件分为两种:

  • 函数组件(推荐)
  • 类组件

示例:创建一个简单组件

src 文件夹中,编辑 App.js

复制代码
function Welcome() {
  return <h1>Hello, React!</h1>;
}

export default Welcome;
2. JSX

JSX 是一种在 JavaScript 中嵌入 HTML 的语法扩展,看起来像 HTML,但实际是 JavaScript 的语法糖。

注意:JSX 的规则

  • 使用 大括号 {} 嵌入 JavaScript 表达式。
  • 每个标签必须关闭,比如 <img />
  • 最外层必须有一个父容器。
3. Props(属性)

props 是组件的输入参数,用于传递数据。

示例:使用 props

复制代码
function Greeting(props) {
  return <h1>Hello, {props.name}!</h1>;
}

// 在父组件中调用
<Greeting name="Alice" />
4. State(状态)

state 是组件内部动态变化的数据。

示例:使用 state

复制代码
import React, { useState } from 'react';

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

  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>Click me</button>
    </div>
  );
}

四、React 项目结构

React 项目的典型结构如下:

复制代码
src/
├── components/   // 组件文件夹
├── App.js        // 主组件
├── index.js      // 项目入口文件
└── styles/       // 样式文件夹

将功能划分到独立的组件文件中,便于团队协作和代码维护。


五、React 基本操作

1. 条件渲染

根据条件显示不同内容:

复制代码
function Login(props) {
  if (props.isLoggedIn) {
    return <h1>Welcome back!</h1>;
  } else {
    return <h1>Please log in.</h1>;
  }
}
2. 列表渲染

使用 .map() 渲染列表:

复制代码
function ItemList(props) {
  const items = props.items;
  return (
    <ul>
      {items.map(item => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
}
3. 表单处理

处理用户输入:

复制代码
function Form() {
  const [inputValue, setInputValue] = useState("");

  const handleChange = (e) => {
    setInputValue(e.target.value);
  };

  const handleSubmit = (e) => {
    e.preventDefault();
    alert(`You entered: ${inputValue}`);
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" value={inputValue} onChange={handleChange} />
      <button type="submit">Submit</button>
    </form>
  );
}

六、部署你的 React 应用

  1. 构建项目:

    复制代码
    npm run build

    这会生成一个 build 文件夹,包含优化后的静态文件。

  2. 部署到静态服务器(例如 GitHub Pages 或 Vercel)。


七、小结

学习 React 不必急于求成。可以从以下几个方面继续深入:

  • 熟悉 React Router 用于路由管理。
  • 学习 Context 和 Redux 进行全局状态管理。
  • 学习性能优化技巧,如 React.memo 和 lazy loading。

希望这篇博客能帮助你理解 React 的基础知识并动手实践!继续练习和探索,你会更深入地掌握它的强大功能。

相关推荐
晚霞的不甘3 小时前
守护智能边界:CANN 的 AI 安全机制深度解析
人工智能·安全·语言模型·自然语言处理·前端框架
AAA阿giao7 小时前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架
晚霞的不甘8 小时前
Flutter for OpenHarmony 构建简洁高效的待办事项应用 实战解析
flutter·ui·前端框架·交互·鸿蒙
百锦再8 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
这儿有一堆花8 小时前
Vue 是什么:一套为「真实业务」而生的前端框架
前端·vue.js·前端框架
前端摸鱼匠18 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
esmap1 天前
OpenClaw与ESMAP AOA定位系统融合技术分析
前端·人工智能·计算机视觉·3d·ai·js
梦梦代码精1 天前
Gitee 年度人工智能竞赛开源项目评选揭晓!!!
开发语言·数据库·人工智能·架构·gitee·前端框架·开源
C澒1 天前
FE BLL 架构:前端复杂业务的逻辑治理方案
前端·架构·前端框架·状态模式
晚霞的不甘1 天前
Flutter for OpenHarmony 豪华抽奖应用:从粒子背景到彩带动画的全栈实现
前端·学习·flutter·microsoft·前端框架