高级前端面试题-React

这篇博客主要探讨了React的高级概念,包括类组件和函数组件的使用场景、组件实例获取、状态管理和逻辑复用(如高阶组件和Render Props)。还讨论了React Hooks的优势,如简化状态逻辑,并解释了为何引入Hooks以及它们解决的问题。另外,文中详细阐述了React的Context API、受控和非受控组件、更新机制(包括Fiber架构)以及React事件系统。最后,涉及了React Router的实现原理和权限路由的配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

react概念

  1. 类组件和函数组件,什么时候用类组件
    获取组件实例

  2. 类组件如何实现逻辑复用?
    高阶组件、render props

  3. 选择hooks的优点
    状态逻辑复用;状态逻辑集中,易于理解;类组件不利于优化,比如不能很好的压缩

  4. 为什么要用hooks,解决了什么问题
    同上

  5. react的context的使用场景
    共享对一个组件树全局的信息, 不需要一层层传参

  6. 受控组件和非受控组件
    非受控组件:数据只保存在内部state中;
    受控组件:用props传入数据
    派生状态建议:完全的受控组件;带key的非受控组件

react更新

  1. 为什么不要在循环、条件语句或者嵌套方法中调用Hooks
    因为react依赖hook的顺序,将内部state和hook关联起来

  2. react15和react16更新机制的差异
    react15架构由协调器(reconciler)、渲染器(renderer)组成,采用的是基于栈的递归的更新方式,不可中断。
    React16有协调器(reconciler)、渲染器(renderer)、调度器(scheduler)组成,采用基于fiber树的更新方式,可中断。

  3. 为什么react16架构升级后就能中断更新,根据什么决定是否中断
    react16采用的是fiber树,fiber树中父节点指向第一个子节点ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值