Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React 学习项目

这是一个全面的React学习项目,包含了React开发中的核心知识点和最佳实践。

📚 学习内容

1. 函数组件

  • 基础函数组件
  • 带状态的函数组件
  • 条件渲染
  • 列表渲染
  • 事件处理

2. React Hooks

  • useState: 状态管理
  • useEffect: 副作用处理
  • useContext: 上下文共享
  • useReducer: 复杂状态管理
  • useMemo: 计算结果缓存
  • useCallback: 函数缓存
  • 自定义Hooks: 逻辑复用

3. 状态管理

  • Redux: 可预测的状态管理库
  • Zustand: 轻量级状态管理
  • Recoil: Facebook的原子化状态管理

4. 路由

  • React Router基础使用
  • 路由配置和导航

5. 性能优化

  • React.memo: 组件渲染优化
  • 虚拟列表: 长列表性能优化
  • 并发特性: useTransition、useDeferredValue、Suspense

🚀 快速开始

安装依赖

npm install

启动开发服务器

npm run dev

项目将在 http://localhost:3000 启动

构建生产版本

npm run build

📁 项目结构

react-demo/
├── src/
│   ├── components/
│   │   ├── FunctionComponent/     # 函数组件示例
│   │   ├── Hooks/                  # Hooks示例
│   │   ├── StateManagement/        # 状态管理示例
│   │   └── Performance/            # 性能优化示例
│   ├── store/
│   │   ├── redux/                  # Redux配置
│   │   ├── zustand/                # Zustand配置
│   │   └── recoil/                 # Recoil配置
│   ├── App.jsx                     # 主应用组件
│   ├── main.jsx                    # 应用入口
│   └── index.css                   # 全局样式
├── package.json
├── vite.config.js
└── README.md

🎯 学习路径建议

  1. 基础阶段

    • 从函数组件开始,理解组件的基本概念
    • 学习useState和useEffect这两个最基础的Hooks
  2. 进阶阶段

    • 掌握useContext、useReducer等高级Hooks
    • 学习useMemo和useCallback进行性能优化
    • 创建自定义Hooks复用逻辑
  3. 状态管理

    • 了解不同状态管理方案的适用场景
    • 对比Redux、Zustand、Recoil的优缺点
    • 选择适合项目的状态管理方案
  4. 性能优化

    • 学习React.memo优化组件渲染
    • 使用虚拟列表处理长列表
    • 掌握React 18的并发特性

💡 最佳实践

Hooks使用规则

  • 只在函数组件的顶层调用Hooks
  • 不要在循环、条件或嵌套函数中调用Hooks
  • 只在React函数组件或自定义Hooks中调用Hooks

性能优化

  • 不要过度使用memo、useMemo、useCallback
  • 先测量性能,再优化
  • 使用React DevTools Profiler识别性能瓶颈

状态管理

  • 简单状态使用useState
  • 复杂状态使用useReducer
  • 全局状态根据项目规模选择合适的状态管理库

📖 相关资源

🛠️ 技术栈

  • React 18: UI框架
  • Vite: 构建工具
  • React Router: 路由管理
  • Redux Toolkit: 状态管理
  • Zustand: 轻量级状态管理
  • Recoil: 原子化状态管理
  • react-window: 虚拟列表

📝 注意事项

  • 本项目主要用于学习,实际项目中请根据需求选择合适的方案
  • 每个示例都包含详细注释,建议仔细阅读
  • 可以修改代码进行实验,加深理解

🤝 贡献

欢迎提交Issue和Pull Request!

📄 许可证

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages