标签归档:react
React Suspense理解
理解onClick={handleAdd}和onClick={() => handleDelete(user.id)}
zustand中这样写有什么优缺点:useUserStore((state) => state)
为什么 Zustand 不选择响应式 Proxy,而选择订阅模式
zustand和pinia使用比较
zustand为什么不能直接访问方法
vue转react概念差异,常用库对照等等
Jsx语法与规则
React是什么,解决什么问题
React创建方式有哪些
带着问题学React,从入门到精通
入门阶段:React基础
知识点:
- React是什么,解决什么问题
- JSX语法与规则
- 组件概念(函数组件 vs 类组件)
- props 和 state 的使用
- 事件处理和绑定
- 条件渲染、列表渲染(map)
- 受控组件与表单处理
典型问题:
- React 中的虚拟 DOM 有什么作用?
- props 和 state 有什么区别?
- 为什么要用 key 渲染列表?
- setState 是同步的吗?
常用库
- React(核心库)
- ReactDOM(Web 渲染器)
进阶阶段:组件开发与状态管理
知识点
- 组件通信(props、Context、回调函数)
- useState、useEffect等 Hooks使用
- 自定义 Hook
- 组件生命周期(类组件 vs 函数组件 Hooks)
- 状态提升
- Context API
- 条件渲染优化、memo、useMemo、useCallback
典型问题
- useEffect 的依赖项该怎么写?
- 如何避免组件重复渲染?
- useRef 有哪些实际用途?
常用库
- Zustand(轻量状态管理)
- Redux Tookit(大型项目状态管理)
- React Router(页面路由管理)
高级阶段:构建项目与工程化
知识点
- 路由配置与懒加载
- 动态组件、代码拆分(Code Splitting)
- 表单库(如 React Hook Form)
- 表格处理、分页、搜索
- 文件上传与下载
- 响应式布局、UI框架使用
- 第三方库封装(如 echarts、地图等)
典型问题
- 如何拆分组件模块?
- 如何封装通用组件?
- 表单验证怎么做?
- 样式模块化(CSS Modules、Sass、Tailwind)
常用库
- React Router Dom
- Axios(请求库)
- React Hook Form / Formik(表单库)
- Tailwind CSS / Ant Design / Material UI (UI 框架)
- Framer Motion (动画库)
精通阶段:性能优化与全链路开发
知识点
- SSR (Next.js)、静态站点生成(SSG)
- 状态缓存(SWR、React Query)
- 性能优化技巧(懒加载、虚拟列表、节流防抖)
- 单元测试(Jest、Testing Library)
- TS + React 开发模式
- SEO 与可访问性优化 (a11y)
典型问题
- 什么时候使用 SSR,什么时候使用 CSR?
- useMemo 为什么有时不优化反而变慢?
- 如何处理大数据渲染卡顿?
常用库
- Next.js(React 框架, 支持 SSR)
- React Query / SWR(请求与缓存管理)
- Vite / Webpack(打包工具)
- Typescript(类型增强)
- Jest + @testing-library/react(测试库)
项目脚手架与常用开发库
框架搭建常用工具
- Create React App(入门,推荐做练习)
- Vite + React(更快的构建,推荐)
- Next.js(支持 SSR,适合中大型项目)
开发必备库
- ESLint + Prettier(代码规范)
- Husky + lint-staged(Git Hook质量保障)
- Axios(网络请求)
- dayjs(时间处理)
- lodash(工具库)
实践建议
项目练手方向(逐步复杂)
- 待办清单(TodoList)
- 天气查询小程序(API请求)
- 表单验证系统(表单库)
- 简单后台管理系统(路由 + 权限)
- 小型博客系统(支持编辑发布)
- 电商购物车(Redux + 接口 + UI)
- 搭建个人博客 / 作品集(Next.js + Markdown)
密码保护:备忘录
react-typescript: `code` must be placed on a new line
react-typescript: JSX not allowed in files with extension ‘.tsx’ react/jsx-filename-extension
react-typescript:创建项目
react引入less报错
Redux里Reducer和Action是怎么关联在一起的?
redux里action和reducer没有关联关系,store.dispatch后redux会遍历所有的reducer,只要action匹配就会执行reducer里的操作,如果匹配不上就会返回之前的state(所以reducer里必须有默认返回state)。