React 是一个 Facebook 和 Instagram 用来创建用户界面的 JavaScript 库。
React不是一个mvc框架,可以说是View(不使用template的view),是单数据流(使用插件可以完成双向),对于数据更新的响应简单的不能再简单了,用官方的话:Reactive updates are dead simple!
可运行在node服务端和web端,是一个对于构建大规模web系统的轻量级解决方案。
基于VirtualDom构建,可以更快,更有效的完成Dom操作;
React实现了一套完整的事件合成机制,能够保持事件冒泡的一致性,跨浏览器执行。甚至可以在IE8中使用HTML5的事件。
基于JSX脚本开发,通过提供的转换器可转换为JS。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
与其他框架可以很好的协同工作。
你可以只在你的站点中部分使用它,它不会强制占有你的全部的。
组件化的React可以使你更加方便的分割工作,组件的复用可以是大型站点代码量越来越小,维护更容易。
快,因为DOM慢。
批量进行虚拟DOM的读写操作以达到提高性能,在iphone的uiwebview组件中可达到60fps。
采用顶级事件代理机制(采用夸浏览器的HTML5事件)
React组件是低耦合高内聚的(React components are looselycoupled and highly cohesive)
React 把用户界面当作简单状态机。把用户界面想像成拥有不同状态然后渲染这些状态,可以轻松让用户界面和数据保持一致。
React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM)。React 来决定如何最高效地更新 DOM。
React的API非常简洁且较少,主要分2个层次:顶层API以及组件API(http://reactjs.cn/react/docs/component-api.html):http://reactjs.cn/react/docs/top-level-api.html
注意区分React的虚拟DOM术语,非常重要:http://reactjs.cn/react/docs/glossary.html
需要知道的四个点:
1:组件的生命周期
组件的生命周期包含三个主要部分:
data-
?或者aria前缀。props
?里取数据并渲染出来。但是,有时需要对用户输入、服务器请求或者时间变化等作出响应,这时才需要使用 State。ms
以外?首字母应该大写原文:http://fishlovefly.iteye.com/blog/2218496