前端面试题之React篇(持续更新)

本文概述了React面试中的常见问题,包括类组件与函数组件的区别、ReactHooks的useState和useEffect注意事项、Redux的运用以及React更新机制(与Vue对比)和fiber组件。
摘要由CSDN通过智能技术生成

这里记录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的依赖项如果是复杂数据类型,只会在内存地址改变的时候才去执行effect里的函数,如果某个值改变可能认为内存地址不变,进而没有执行effect; 举例:对象重新赋值,会改变内存地址,但是改变某个属性值,则不会改变对象的内存地址,这时依赖项会认为对象没有改变,进而不执行effect,这时要用对象的某个属性值来作为依赖项

c) useCallback和useMemo的区别

useCallback是缓存函数,useMemo是缓存值

d)什么时候用memo还是useCallback

1)用memo的原因:

组件在一些情况下会发生re-render, 需要React.memo搭配useCallback使用

re-render的情况有:

1)自身state/props 2)context 3)父组件re-render,所有子组件都会re-render

3. React的更新机制(和Vue的异同)

4. Redux相关问题

5. React的fiber组件

持续更新中。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值