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分钟
周度回顾
- 总结本周学习内容
- 完成项目代码审查
- 规划下周学习重点
- 记录遇到的问题和解决方案
🏆 学习成果展示
作品集项目
- 待办事项应用 - 基础功能实现
- 个人博客系统 - Hooks 和状态管理
- 电商购物车 - 复杂状态管理
- 多页面应用 - 路由和导航
- 企业级应用 - 完整功能实现
技术博客
- 学习心得记录
- 技术问题解决
- 最佳实践总结
- 开源项目贡献