React高频面试题100+题,这一篇就够了!

1 - 5 题详解传送门>>>>>>>>>>>>

1. 如何在代码中判断一个 React 组件是 class component 还是 function component?

2. useRef / ref / forwardsRef 的区别是什么?

3. useRef和useState区别?

4. useEffect 的第二个参数, 传空数组和传依赖数组有什么区别?

5. 如果在 useEffect 的第一个参数中 return 了一个函数,那么第二个参数分别传空数组和传依赖数组,该函数分别是在什么时候执行?

6 - 11 题详解传送门>>>>>>>>>>>>>>>

6. 讲讲 React.memo 和 JS 的 memorize 函数的区别,useMemo是什么?

7. 怎么判断一个对象是否是 React 元素?

8. 说说对 React 中Element、Component、Node、Instance 四个概念的理解

10. React 和 Vue 在技术层面有哪些区别?

11. 如何实现 useUpdate 方法,调用时强制组件重新渲染

12 - 16 题详解传送门>>>>>>>>>>>>>>>>

12. 什么是单页应用,什么是多页应用?

13. 单页应用如何提高加载速度?

14. 什么是虚拟DOM?

15. React中的类组件和函数组件之间有什么区别?

16. 什么是高阶组件?

17 - 21 题详解传送门>>>>>>>>>>>>>>

17. constructor中super与props参数一起使用的目的是什么?

18 .什么是受控组件?

19. 什么是JSX?

20. React.PureComponent 和 React.Component 有什么区别?

21. 什么是 React?

22 - 26 题详解传送门>>>>>>>>>>>>>>>>>>>>

22. 简述下 React 的生命周期?每个生命周期都做了什么?

23. React 错误边界是什么?

24. 为什么不能直接使用 this.state 改变数据?

25. React 中如果绑定事件使用匿名函数有什么影响?

26. React 的事件代理机制是什么?

27- 32 题详解传送门>>>>>>>>>

27. React中为什么要给组件设置 key?

28. setState 之后发生了什么?

29. 在 shouldComponentUpdate 或 componentWillUpdate 中使用 setState 会发生什么?

30. react 的虚拟dom是怎么实现的?

32. 为什么React的 VM 可以提高性能?

33 - 42 题详解传送门>>>>>>>>>>>>>>>

33. React Hooks带来了什么便利?

34. 列举几个常见的 Hook?

35. 使用React Hooks有什么优势?

36. 简单介绍下React中diff算法?

37. React中,能否直接将 props 的值复制给 state?

38. React Hooks当中的useEffect是如何区分生命周期钩子的?

39. 为什么不能用数组下标来作为react组件中的key?

40. React Fiber是什么?

41. 虚拟DOM一定更快吗?

42. 不同版本的 React 都做过哪些优化?

43 - 47 题详解传送门>>>>>>>>>>>>>>

43. Fiber 为什么是 React 性能的一个飞跃?

44. React Fiber 是如何实现更新过程可控?

45. React中的路由懒加载是什么?原理是什么?

46. React有哪些性能优化的方法?

47. react中懒加载的实现原理是什么?

48 - 52 题详解传送门>>>>>>>>>>>>>

48. React 组件间怎么进行通信?

49. 说说你在React项目是如何捕获错误的?

50. 说说你对immutable的理解?如何应用在react项目中?

51. 说说react中引入css的方式有哪几种?区别?

52. state 和 props有什么区别?

53 - 59 题详解传送门>>>>>>>>>>

53. React构建组件的方式有哪些?有什么区别?

54. hooks是什么时候支持的?

55. 在react中怎么实现组件间的过渡动画?

56. 说说你对Redux的理解?其工作原理?

57. useReducer 是什么?

58. 你在React项目中是如何使用Redux的? 项目结构是如何划分的?

59. 说说React render方法的原理?在什么时候会被触发?

60 - 64 题详解传送门>>>>>>>>>>>>

60. 说说对受控组件和非受控组件的理解,以及应用场景?

61. Redux 中异步的请求怎么处理

62. Redux 状态管理器和变量挂载到 window 中有什么区别?

63. Redux中的connect有什么作用?

64. 为什么 useState 返回的是数组而不是对象?

65 - 69 题详解传送门>>>>>>>>>>

65. React Hooks 在使用上有哪些限制?

66. useEffect 与 useLayoutEffect 有什么区别?

67. React 中怎么实现状态自动保存(KeepAlive)?

68. mobx 和 redux 有什么区别?

69. 下面函数组件的输出分别是什么?

下面是一个简单的函数组件,有两个按钮:"alert"、"add"。

如果先点击"alert"按钮,再点击一次"add"按钮,那么弹窗框中的值和页面中展示value分别是什么?

js'const 复制代码
  const [value, setValue] = useState(1)

  const log = () => {
    setTimeout(() => {
      alert(value)
    }, 3000);
  }

  return (
    <div>
      <p>FunctionComponent</p>
      <div>value: {value}</div>
      <button onClick={log}>alert</button>
      <button onClick={() => setValue(value + 1)}>add</button>
    </div>
  )
}

70 - 74 题详解传送门>>>>>>>>>

70. Redux 和 Vuex 有什么区别,它们有什么共同思想吗?

71. react 和 vue 有什么区别?

72. react中,父子组件的生命周期执行顺序是怎么样的?

73. 为什么不能在循环、条件或嵌套函数中调用 Hooks?

74. 说说你对 useContext 的理解?

75 - 79 题详解传送门>>>>>>>>>>>>

75. 说说你对 useMemo 的理解

76. 说说你对自定义hook的理解

77. 在 React 中可以做哪些性能优化?

78. 如何让 useEffect 支持 async/await?

79. 你常用的 React Hooks 有哪些?(非常全,用法实例附带)

80 - 84 题详解传送门>>>>>>>>>>>>>

80. 说说你对 dangerouslySetInnerHTML 的理解

81. setState 是同步,还是异步的?

82. 我们应该在什么场景下使用 useMemo 和 useCallback ?

83. react是否支持给标签设置自定义的属性,比如给video标签设置webkit-playsinline?

84. 说说你对 React Hook的闭包陷阱的理解,有哪些解决方案?

85 - 90 题详解传送门>>>>>>>>>>

85. React.memo() 和 useMemo() 的用法是什么,有哪些区别?

86. 说说对Redux中间件的理解?常用的中间件有哪些?实现原理?

87. 说说React事件和原生事件的执行顺序

88. 什么是React合成事件

89. 使用 React hooks 怎么实现类里面的所有生命周期? (非常详细)

90. 说说React服务端渲染怎么做?原理是什么?

91 - 14题详解传送门>>>>>>>>>>>>>

91. 简述下 React 的事件代理机制?

92. 使用 redux 有哪些原则?

93. react 中怎么捕获异常?

94. 实现一个 useTimeout Hook

95. React18新特性

96. 使用 useState (const [test, setTest] = useState([]))时,为什么连续调用 setTest({...test, newValue}) 会出现值的丢失?

97. setState大部分时候是异步?

98. 说说React Router有几种模式,以及实现原理?

99. 说说你对React Router的理解?常用的Router组件有哪些?

100. 说说React Jsx转换成真实DOM过程?

101. react-router 里的 标签和 标签有什么区别?

102. React 中的 ref 有什么用?

103. 单页应用如何提高加载速度?

104. React 中,怎么实现父组件调用子组件中的方法?

相关推荐
恋猫de小郭6 分钟前
React Native 鸿蒙 2026 路线发布,为什么它的适配成本那么高?
android·前端·react native
呆头鸭L16 分钟前
Electron进程通信
前端·javascript·electron·前端框架·vue
splage30 分钟前
spring-boot-starter和spring-boot-starter-web的关联
前端
张元清38 分钟前
使用 Hooks 构建无障碍 React 组件
前端·javascript·面试
Mahut1 小时前
从零构建神经影像可视化库:neuroviz 的架构设计与实现
前端·javascript·github
慧一居士1 小时前
VueUse 功能介绍使用场景及完整使用示例
前端·vue.js
奇怪的猫1 小时前
浏览器窗口最小化的时候,setInterval 执行变慢,解决方案
前端·javascript
多租户观察室1 小时前
工作流新生态:2026年工作流与Coding的重新分工
前端·人工智能·后端·低代码
cmd1 小时前
别再混淆了!JS类型转换底层:valueOf vs toString vs Symbol.toPrimitive 详解
前端·javascript
Carsene2 小时前
开源项目文档架构设计:Git Submodule 实现文档与代码的优雅分离
前端·后端