react面试技巧

2022/6/8 面试React

# 解释React是什么 or 谈一谈你对 React 的理解

图示

在列优缺点的时候,不要踩一捧一。

图示

# 1. react出现的原因和技术本质

图示

Angular为前端带来的革新和痛点

图示

Backbone出现了,他与前代的亲和性高,而且考虑了代码的组织性

图示

图示

但是与后端不同的是前端主要以UI组件为基础,需要一个可以使组件复用的开发方案。 前端工程越来越庞杂,组件作为基本单位应该是可以通过编写单元测试来维持稳定的。所以基于过去的模式很难实现上述。

那React的开发思维模式是完全不同的,概览极为简单。 用一个公式可以来概括: View = fn(props, state, context) react中只有组件,没有页面、没有控制器、没有模型。这些都可以用组件来充当。 fn函数可能是一个纯函数组件,也可能在函数中产生影响UI生成的副作用。在react中需要关心的是 数据与组件,在设计模式中有一个 组合优于继承。 在构建UI视图时,组合组件始终是最优的解决方案。

# 2.react的用途

构建视图,由于react虚拟DOM的关系再适用场景上远比传统框架更为广泛。

  • PC网页、移动端网页都是完全支持的
  • 可以用于开发 IOS 和 Android 应用
  • 还有React360 可以开发 VR 应用
  • 冷门的如 ink ,可以使用 react 开发命令行应用

核心思路有三大

  • 声明式

    • 声明式编程的优势在于直观,可以做到一目了然,也便于组合
  • 组件化

    • 组件化可以降低系统间功能的耦合性提高功能内部的聚合性
    • 对前端工程化以及代码复用有极大的好处
  • 通用性

    • React将DOM抽象为虚拟DOM,开发者并不会直接操作DOM,使得React不再局限于 Web 开发。而能走向更宽广的平台,出现更繁荣的生态。
    • 使用声明式的 JSX 来编写组件,而不是模板。

# 3.优缺点

  • 声明式、组件化与通用性
  • React并不是一个全包干的框架,导致在技术选型与学习使用上有比较搞的成本,像 路由、组件状态集中式管理 (redux、mobx)是由社区和官方共同来实现。比如还有 Dva.js

# 4.答题思路总结

图示

Last Updated: 2022/8/12 下午10:21:19