高级前端面试题-React

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树中父节点指向第一个子节点ÿ

你可能感兴趣的:(javascript,面试)