React面试题阅读指南(必看)
大家好,我是帅地。
为了方便大家复习,这些面试题的展示采取了右边面试题目,左边答案的方式,方便大家按需查看。
由于手机端不支持这种展示方式,当然,为了手机方便阅读,下面会贴出所有面试题答案链接,不过大家最好在 PC 电脑端阅读哈,相关面试题还会持续更新,尽量补充完善起来,建议收藏帅地的网站哦。
面试题链接汇总
10. Redux 中间件是怎么拿到store 和 action? 然后怎么处理?
12. React Hooks在平时开发中需要注意的问题和原因 ?
14. State 是怎么注入到组件的,从 reducer 到组件经历了什么样的过程 ?
17. 请简述useCallback 和 useMemo 的使用场景 ?
20. useEffect()的清除机制是什么?在什么时候执行?
21. useState()的 state 是否可以直接修改?是否可以引起组件渲染?
23. 请简述react-router 和 react-router-dom 的有什么区别?
24. 在 React中元素( element)和组件( component)有什么区别?
25. 约束性组件( controlled component)与非约束性组件( uncontrolled component)有什么区别?
26. React shouldComponentUpdate有什么用?为什么它很重要?
28. createElement和 cloneElement有什么区别?
29. React setState方法的第二个参数有什么用?使用它的目的是什么?
30. 请说岀 React从 ES5编程规范到 ES6 编程规范过程中的几点改变?
35. 简述如何使用4.0版本的 React Router?
37. 请用源码解释React setState 调用的原理 ?
38. 简述shouldComponentUpdate 作用?为什么它很重要?
41. 解释为什么调用 setState 而不是直接改变 state?
42. 解释 React 中 render() 的目的和作用 ?
44. 请说明React中getDefaultProps 的作用 ?
46. 简述React Hooks在平时开发中需要注意的问题和原因 ?
47. 在React中组件的this.state和setState有什么区别?
49. 简述React中hooks是如何模拟组件的生命周期的?
53. 执行两次setState的时候会render几次?会不会立即触发?
54. React 什么是 Reselect 以及它是如何工作的 ?
58. 请简述当调用setState时,React render 是如何工作的?
60. Component, Element, Instance 之间有什么区别和联系?
61. 简述React.createClass和extends Component的区别有哪些?
62. 简述对React中Fragment的理解,它的使用场景是什么?
66. 简述super()和super(props)有什么区别?
69. React.forwardRef是什么?它有什么作用?
70. React中constructor和getInitialState的区别?
72. React ⾼阶组件、Render props、hooks 有什么区别,为什么要 不断迭代 ?
73. 哪些方法会触发 React 重新渲染?重新渲染 render 会做些什么 ?
74. 简述为什么React并不推荐优先考虑使⽤Context?
75. 简述React中的setState和replaceState的区别是什么 ?
77. 在React中组件的props改变时更新组件的有哪些方法 ?
78. React 16.X 中 props 改变后在哪个生命周期中处理 ?
79. React 性能优化在哪个生命周期?它优化的原理是什么?
80. 简述state 和 props 触发更新的生命周期分别有什么区别?
84. 简述React-Router 4怎样在路由变化时重新渲染同⼀个组件 ?
87. Redux 中间件是什么?接受几个参数?柯里化函数两端的参数具体是什么 ?
89. 简述Redux 和 Vuex 有什么区别,它们的共同思想 ?
90. 简述Redux 中间件是怎么拿到store 和 action? 然后怎么处理 ?
91. 简述为什么 useState 要使用数组而不是对象 ?
95. 简述 React key 是干嘛用的 为什么要加?key 主要是解决哪⼀类问题的?
96. 简述React 与 Vue 的 diff 算法有何不同 ?
97. 简述 react 最新版本解决了什么问题,增加了哪些东⻄ ?
98. 简述在React中怎么使⽤async/await ?