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 中,怎么实现父组件调用子组件中的方法?

相关推荐
秦jh_38 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
蜗牛快跑2131 小时前
面向对象编程 vs 函数式编程
前端·函数式编程·面向对象编程
Dread_lxy1 小时前
vue 依赖注入(Provide、Inject )和混入(mixins)
前端·javascript·vue.js
涔溪2 小时前
Ecmascript(ES)标准
前端·elasticsearch·ecmascript
榴莲千丞2 小时前
第8章利用CSS制作导航菜单
前端·css
奔跑草-2 小时前
【前端】深入浅出 - TypeScript 的详细讲解
前端·javascript·react.js·typescript
羡与2 小时前
echarts-gl 3D柱状图配置
前端·javascript·echarts
guokanglun2 小时前
CSS样式实现3D效果
前端·css·3d
咔咔库奇2 小时前
ES6进阶知识一
前端·ecmascript·es6
渗透测试老鸟-九青3 小时前
通过投毒Bingbot索引挖掘必应中的存储型XSS
服务器·前端·javascript·安全·web安全·缓存·xss