React 简介
React 是用于构建用户界面的 JavaScript 库。
使用 React 可以帮助我们高效的开发前端界面,同时提供高性能的保障。
框架 与 库Framework vs. Library
Library
Library 是提供一系列的接口(函数)用于创建 web app 的时候调用
比如:jQuery
Framework
Framework 则是一套成型的 web app 结构,你只用在里面负责根据其要求填补网站所需“内容”
比如:Angular, Vue.js, Ember.js
历史
React 最开始是 Facebook 的内部项目,用来开发 Instagram 的网站。
在2013年的时候,Facebook 将其开源出来。
由于其极其独特的设计思想,马上受到了整个业界的关注。
到目前为止,React 是前端开发的主要的 JavaScript 库。
React 的三大特性
声明式 Declarative
为你应用的每一个状态设计简洁的视图,当数据改变时 React 能有效地更新并正确地渲染组件。
组件化 Component-Based
创建拥有各自状态的组件,再由这些组件构成更加复杂的 UI。
一次学习,随处编写 Learn Once, Write Anywhere
React 可以和很多其他的框架整合,也可以用于 Mobile 的开发和在 Node 服务器端进行渲染。
React 原理
现在的网站一般都会需要即时的将变化的数据反应在 UI 上,例如用户实时在线信息,股票价格数据等。
这些实时更新都是通过对 DOM 进行操作来实现的,能否高效的进行 DOM 操作成为了决定网站性能的关键。
为此,React 引入了虚拟 DOM(Virtual DOM)的机制。我们不用关系如何对 DOM 进行操作,而是交给 React 来处理。
UI 更新对比
对于 Message App,当一条新的消息过来时


Virtual DOM
React 在浏览器端用 Javascript 实现了一套 DOM API,这个可以对标 HTML DOM。
