什么是 【React】(1)

127 阅读2分钟

一、React 概述

  1. React 是一个用于 构建用户页面 的 JavaScript 库
  2. 主要用于构建高性能及响应式用户界面
  3. 使用虚拟DOM并在发生变更时利用补丁安装机制只对DOM中的dirty部分进行重新渲染
  4. 从 MVC 角度来看,React 只是视图层(V),只负责视图的渲染,没有提供完整的 M 和 C 的功能

二、React 特点

1. 声明式

  1. 只需描述 UI(HTML)看起来是什么,就跟写 HTML 一样
  2. 负责渲染 UI,并在数据发生变化更新 UI
const jsx = <div className="app">
    <h1>hello React! 动态变化数据:{count}</h1>    
</div>

2. 基于组件

  1. 组件是 React 最重要的内容
  2. 组件表示页面中的部分内容
  3. 组件把一个完整的,抽象成一个个组件
  4. 组合、复用多个组件,可以实现完整的功能

3. 学习一次,随处使用

  1. 使用 React 可以开发 Web 应用
  2. 使用 React 可以开发移动端原生应用(react-native)
  3. 使用 React 可以开发 VR(虚拟显示) 应用(react 360)

三、优点

  1. React速度很快

    1. 它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念
    2. 安插在javascript逻辑和实际的DOM之间,性能好
  2. 跨浏览器兼容

    1. 虚拟DOM帮助我们解决了跨浏览器问题
    1. 它为我们提供了标准化的API,甚至在IE8中都是没问题的。
  3. 一切都是component

    1. 代码更加模块化,重用代码更容易,可维护性高。
  4. 单向数据流

    1. Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。
  5. 同构、纯粹的javascript

    1. 因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。
  1. 兼容性好

    1. 比如使用RequireJS来加载和打包,而Browserify和Webpack适用于构建大型应用。
    2. 它们使得那些艰难的任务不再让人望而生畏。