React通常在前端应用开发、浏览器渲染、桌面应用等,一般的UI编程需要手动更新DOM,代码没有组件化,数据依赖关系需要手动维护,而响应式编程状态更新,UI 自动更新。代码组件化,可复用,可封装。状态之间的互相依赖关系,只需声明即可。React的核心有三项:响应式 UI,虚拟 DOM,组件。
1.React的特点
React采用声明范式,可以轻松描述应用(自动dom操作),React通过对DOM的模拟,最大限度地减少与DOM的交互,React可以与已知的库或框架很好地配合,通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
2.响应式UI
使用 React 构建的 UI 是响应式的。只需编写代码,React 自己会知道怎么做。当数据变化时,UI 会相应地发生改变。不用管DOM的更新,React会自动完成。响应式 UI 的理念大大地简化了 UI 开发。
3.虚拟DOM
DOM 由浏览器维护,通过DOM API进行修改,虚拟DOM用于和DOM同步,是JS内存中维护的一个对象,是树状结构,并可以和 DOM 建立对应的关系。赋予了 React 声明式的 API:只需告诉 React 让 UI 是什么状态,React 可以使 DOM 匹配该状态。人们可以从属性操作、事件处理和手动 DOM 更新这些在构建应用程序时必要的操作中解放出来。
4.组件
组件是组件的组合/原子组件;组件内拥有状态,外部不可见;父组件可将状态传入组件内部。在组件设计上声明了状态和 UI 的映射,根据当前 State/Props 与 UI 的映射更改 UI。具有 Props/State 两种状态。内部拥有私有状态 State。组件接收外部的 Props 状态提供复用性。可由其他组件拼装而成。
5.总结
React 的开发本身是 jsx,开发时具有高自由度,调试更方便。字节跳动 Web Infra 团队研发的全栈开发框架,内置了很多开箱即用的能力与最佳实践,可以减少很多调研选择工具的时间。