# React 是什么?

React 是一个 JavaScript 框架,通过组件化的方式解决视图层开发复用的问题,本质是一个组件化框架。

  • 它的核心设计思路有三点:
    1. 声明式 : 优势在于直观和组合
    2. 组件化 : 优势在于视图的拆分与模复用,可以容易做到高内聚低耦合
    3. 通用性。 : 在于一次学习,随处编写,例如:React Native 等。这里主要是靠虚拟 DOM 来保证实现。

这使得 React 的使用范围变的足够广,无论是 web,native、VR,甚至 Shell 应用都可以进行开发。这也是 React 的优势。

  • React 的劣势
    • 它没有提供一个完整的一揽子的解决方案,在开发大型前端应用时,需要向社区寻找并整合解决方案。虽然一定程度上促进了社区的繁荣,但也对开发者的技术选型和学习上造成了一定的成本。

后面可以谈一谈 对于 React的优化的看法,对虚拟 DOM 的看法,可以向自己主导过的 React 项目上引导,谈一谈 React 相关的工程架构与设计模式。