React 核心内容
以下是 React 进阶教程的核心内容,涵盖关键概念、交互处理和项目实践,适合具备基础知识的开发者:
⚛️ 一、核心概念深化
JSX 高级用法
JSX 语法比 HTML 更严格:必须闭合标签、组件返回单根节点(可用空标签 <></> 包裹)。
样式处理:class 改为 className,CSS 文件通过 import 引入组件。
动态数据渲染:使用 {} 嵌入 JavaScript 变量或表达式(如 {user.name})。
虚拟 DOM 与 Diff 算法
虚拟 DOM 本质是 JavaScript 对象,通过高效对比减少真实 DOM 操作开销。
配合 Diff 算法实现精准局部更新,提升性能。
🖱️ 二、交互与事件处理
事件绑定规范
采用驼峰命名(如 onClick),传入函数而非字符串。
阻止默认行为需显式调用 e.preventDefault(),而非返回 false。
function ActionLink() { const handleClick = (e) => { e.preventDefault(); console.log("链接被点击"); }; return <a href="#" onClick={handleClick}>点我</a>; }
表单组件设计
受控组件:表单值由 React 状态管理,通过 onChange 同步(推荐)。
非受控组件:通过 ref 直接获取 DOM 值,适用于简单场景。
🧩 三、组件进阶开发
生命周期方法(类组件)
挂载阶段:componentDidMount(DOM 操作/数据请求)。
更新阶段:shouldComponentUpdate(性能优化)、componentDidUpdate。
卸载阶段:componentWillUnmount(清理定时器/事件监听)。
组件通信
父传子:通过 props 传递数据或回调函数。
跨层级:使用 Context API 避免多层透传 Props。
Hooks 应用
函数组件中使用状态:useState、useEffect 替代生命周期。
自定义 Hooks 实现逻辑复用。
🔧 四、项目实战关键
API 封装与项目结构
按模块拆分 API 文件(如 article.ts、user.ts),统一管理请求和数据类型。
配置基础请求工具(如 axios 封装在 base.ts)。
TypeScript 集成
使用 create-react-app --template typescript 创建项目。
组件 Props 类型化:通过 interface 或 type 定义。
interface MyProps { Name: string; ID: number; } const Header: React.FC<MyProps> = ({ Name, ID }) => <div>{ID} - {Name}</div>;