React 学习计划

🎯 学习目标

  • 掌握 React 18 核心概念和最佳实践
  • 能够独立开发完整的 React 应用
  • 理解现代前端开发工作流
  • 为后续学习 Next.js、状态管理等高级技术打下基础

📚 学习路径

第一阶段:基础入门 (第1-2周)

1.1 环境搭建

  • Node.js 安装 (>= 18.0.0)
  • 创建 React 项目
    npx create-react-app my-react-app
    # 或使用 Vite (推荐)
    npm create vite@latest my-react-app -- --template react
  • 开发工具配置
    • VS Code + React 插件
    • React Developer Tools 浏览器扩展

1.2 核心概念学习

  • JSX 语法

    • 元素渲染
    • 组件定义
    • 属性传递
    • 条件渲染
    • 列表渲染
  • 组件基础

    • 函数组件 vs 类组件
    • Props 和 State
    • 事件处理
    • 生命周期 (函数组件中的 useEffect)

1.3 实践项目

  • 待办事项应用 (Todo App)
    • 添加任务
    • 删除任务
    • 标记完成
    • 本地存储

第二阶段:Hooks 深入 (第3-4周)

2.1 内置 Hooks

  • useState - 状态管理
  • useEffect - 副作用处理
  • useContext - 上下文共享
  • useReducer - 复杂状态管理
  • useMemo - 性能优化
  • useCallback - 函数缓存
  • useRef - DOM 引用

2.2 自定义 Hooks

  • 封装业务逻辑
  • 数据获取 Hook
  • 表单处理 Hook
  • 本地存储 Hook

2.3 实践项目

  • 个人博客系统
    • 文章列表
    • 文章详情
    • 评论系统
    • 搜索功能

第三阶段:状态管理 (第5-6周)

3.1 Context API

  • 创建 Context
  • Provider 和 Consumer
  • 多层嵌套 Context

3.2 第三方状态管理

  • Zustand (轻量级)
  • Redux Toolkit (企业级)
  • Jotai (原子化状态)

3.3 实践项目

  • 电商购物车
    • 商品展示
    • 购物车管理
    • 用户认证
    • 订单处理

第四阶段:路由和导航 (第7周)

4.1 React Router

  • 路由配置
  • 嵌套路由
  • 路由参数
  • 编程式导航
  • 路由守卫

4.2 实践项目

  • 多页面应用
    • 首页
    • 产品页面
    • 用户中心
    • 404 页面

第五阶段:性能优化 (第8周)

5.1 性能优化技术

  • React.memo
  • useMemo 和 useCallback
  • 代码分割 (Code Splitting)
  • 懒加载 (Lazy Loading)
  • 虚拟滚动

5.2 调试和测试

  • React DevTools
  • 性能分析
  • 单元测试 (Jest + React Testing Library)
  • 集成测试

第六阶段:高级特性 (第9-10周)

6.1 高级概念

  • 错误边界 (Error Boundaries)
  • Suspense 和并发特性
  • Server Components
  • 自定义渲染器

6.2 工程化

  • TypeScript 集成
  • ESLint 和 Prettier
  • 构建优化
  • 部署流程

6.3 实践项目

  • 完整的企业级应用
    • 用户管理系统
    • 数据可视化
    • 实时通信
    • 移动端适配

📖 推荐学习资源

官方文档

在线课程

  • React 官方教程 - 井字棋游戏
  • freeCodeCamp - React 免费课程
  • B站 React 教程 - 尚硅谷、黑马程序员

书籍推荐

  • 《React 技术揭秘》- 卡颂
  • 《深入 React 技术栈》- 陈屹
  • 《React 设计模式与最佳实践》- Michele Bertoli

实践平台

  • CodeSandbox - 在线 React 开发环境
  • StackBlitz - 快速原型开发
  • GitHub - 开源项目学习

🛠️ 开发工具

必需工具

  • Node.js - JavaScript 运行环境
  • VS Code - 代码编辑器
  • Git - 版本控制
  • Chrome DevTools - 浏览器调试

推荐插件

  • ES7+ React/Redux/React-Native snippets
  • Auto Rename Tag
  • Bracket Pair Colorizer
  • Prettier - Code formatter
  • ESLint

📝 学习检查点

第2周检查点

  • 能够创建简单的 React 组件
  • 理解 JSX 语法
  • 掌握 Props 和 State 的使用
  • 完成待办事项应用

第4周检查点

  • 熟练使用所有内置 Hooks
  • 能够编写自定义 Hooks
  • 理解组件生命周期
  • 完成个人博客系统

第6周检查点

  • 掌握状态管理方案
  • 能够处理复杂的状态逻辑
  • 理解 Context API 的使用场景
  • 完成电商购物车应用

第8周检查点

  • 掌握路由配置和导航
  • 能够构建多页面应用
  • 理解 SPA 的工作原理
  • 完成多页面应用项目

第10周检查点

  • 掌握性能优化技巧
  • 能够编写测试用例
  • 理解 React 高级特性
  • 完成企业级应用项目

🎯 进阶学习方向

框架生态

  • Next.js - React 全栈框架
  • Gatsby - 静态站点生成器
  • Remix - 全栈 Web 框架

移动开发

  • React Native - 跨平台移动开发
  • Expo - React Native 开发平台

状态管理

  • Redux Toolkit - 企业级状态管理
  • Zustand - 轻量级状态管理
  • Jotai - 原子化状态管理

UI 库

  • Ant Design - 企业级 UI 库
  • Material-UI - Google Material Design
  • Chakra UI - 模块化组件库
  • Tailwind CSS - 实用优先的 CSS 框架

📊 学习进度跟踪

每日学习计划

  • 理论学习: 1-2小时
  • 实践编码: 2-3小时
  • 项目开发: 1-2小时
  • 总结复习: 30分钟

周度回顾

  • 总结本周学习内容
  • 完成项目代码审查
  • 规划下周学习重点
  • 记录遇到的问题和解决方案

🏆 学习成果展示

作品集项目

  1. 待办事项应用 - 基础功能实现
  2. 个人博客系统 - Hooks 和状态管理
  3. 电商购物车 - 复杂状态管理
  4. 多页面应用 - 路由和导航
  5. 企业级应用 - 完整功能实现

技术博客

  • 学习心得记录
  • 技术问题解决
  • 最佳实践总结
  • 开源项目贡献

标签

React 前端开发 JavaScript 学习计划 编程技能