React 是用于构建用户界面的 JavaScript 库
- 声明式编写 UI,代码可靠,便于调试
- 组件化开发,组件逻辑使用 JavaScript 编写而非模板,遵循单向数据流和数据绑定,状态与 DOM 分离
- 一次学习,随处编写,使用 Virtual DOM,支持 浏览器、Node 服务器等多种渲染方式 和 React Native 开发原生应用
React 的缺点 - React 核心是 UI 库,路由,状态管理等由社区维护。细粒度需求和问题依赖社区解决
- React 概念和约束较少,容易上手并与现有项目整合。代码风格和项目结构容易产生差别
- React JSX 灵活性高,预编译时可以做的优化相对其他 HTML 分离的库有限
- React setState 提供基于队列异步更新,手动优化渲染流程,需要关注业务之外的逻辑
- React17 以前基于事件委托的合成事件,表现和使用与原生事件存在差异