这里记录React面试题个人整理,以应用为主。
1. React类组件和函数组件的区别?好处在哪里?为啥要用函数组件
1)类组件可以定义自己的state, 用来保存组件内部状态;
2)类组件有自己的生命周期,在不同的生命周期完成不同的业务逻辑
3)类组件在状态state改变时,可以只重新执行render函数(在state更新时,类组件会重新渲染组件,类组件是靠重新执行render函数来执行的)
1.1 类组件需要用shouldComponentUpdate来判断某个属性是否变化来决定组件是否要重新渲染;函数组件会比较依赖状态来决定是否需要重新渲染组件;
函数式组件的优点:
2. React Hooks相关问题
1. useState的注意问题:
a. 直接修改state,而不是使用回调函数
b.使用Object.assign来对state为对象的值来进行修改
a) useState更新后,立即拿到更新的值怎么做
a) 在useEffect中监听state的值,并在回调函数中获取最新的值
b)将setCount写成回调函数的形式,在回调函数中获取最新的state值
c) 用useRef保存值,每次挂载完之后countRef.current来储存最新的值
b) useRef的使用场景
d) useEffect的依赖项问题
useEffect的依赖项如果是复杂数据类型,只会在内存地址改变的时候才