MOC-React 面试题

  • 基础(组件开发、状态管理、生命周期)
示例题目模块知识点
JSX 是什么?如何被转换?React 渲染过程是怎样的?JSX & 渲染机制JSX 语法、渲染原理、Virtual DOM
函数组件和类组件有什么区别?生命周期如何映射?函数组件 & Class 组件区别、使用场景、生命周期差异
props 和 state 有何区别?state 更新是同步还是异步?props & state单向数据流、状态更新机制
React 中如何绑定事件?事件是如何实现跨浏览器兼容的?事件处理机制合成事件、事件绑定方式
为什么列表渲染需要设置 key?key 的作用是什么?条件渲染 & 列表渲染三元表达式、map、key 的作用
componentDidMount 和 useEffect 的区别是什么?生命周期挂载、更新、卸载
如何使用受控组件处理输入?非受控组件用在哪些场景?表单处理受控组件、非受控组件
React 组件之间有哪些通信方式?适用于哪些场景?组件通信组件通信
  • 进阶(底层机制、性能优化、调度模型)
示例题目模块知识点
useEffect 的依赖数组如何工作?如何避免闭包陷阱?Hooks 原理useState、useEffect、useRef、闭包陷阱
如何在兄弟组件之间共享状态?Context 有哪些限制?状态提升 & 共享状态提升、Context API
React 的 Diff 算法是怎么工作的?为什么性能很高?diff 算法key、节点复用策略
React 的事件系统是如何实现的?与原生有何区别?事件机制 &合成事件合成事件系统、事件委托
React 的并发模式是如何提高性能的?Fiber 是什么?Concurrent 模式Fiber 架构、时间分片
如何避免组件不必要的重复渲染?useMemo 有哪些陷阱?性能优化React.memo、useMemo、useCallback
setState 是异步的原因?如何强制同步更新?异步渲染 & 更新队列batched updates、flushSync
父子组件、祖孙组件、兄弟组件之间如何通信?组件通信方式props、context、回调函数
自定义 Hook 的最佳实践?有哪些使用限制?自定义 Hooks封装逻辑复用、抽象副作用
React Router 是如何实现路由变化监听的?路由React Router 原理、懒加载
React SSR 的原理?hydrate 和客户端渲染的区别?SSR & HydrationNext.js、hydrate
函数组件每次渲染都重新执行,为什么 React 还能保留状态、函数引用?这些数据是怎么“记住”的?Hooks 原理、性能优化为什么函数组件每次执行都重头开始、useState 为什么能 ” 记住 ” 旧值、闭包为什么 ” 看不见 ” 新值
React 中的 setState 是同步还是异步的?为什么有时候打印不到最新值?Hooks 原理setState

MOC-Vue 面试题e |