React

1.React 不是一个完整的MVC,MVVM框架
2.React 跟Web Components不冲突
3.React的特点就是轻
4.组件化开发思路

应用场景:
1.复杂场景下的高性能
2.重用组件库,组件组合

React中组件并不是真实的 DOM 节点,而是存在于内存之中的一种数据结构,叫做虚拟 DOM (virtual DOM)。只有当它插入文档以后,才会变成真实的 DOM 。根据 React 的设计,所有的 DOM 变动,都先在虚拟 DOM 上发生,然后再将实际发生变动的部分,反映在真实 DOM上,这种算法叫做 DOM diff ,它可以极大提高网页的性能表现。

JSX:
JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。
它是类型安全的,在编译过程中就能发现错误。
使用 JSX 编写模板更加简单快速。

组件生命周期对比:
componentWillMount() 创建之前
componentDidMount() 创建之后

componentWillUpdate() 更新之前
componentDidUpdate() 更新之后

componentWillUnmount() 卸载之前

componentWillReceiveProps() 组件参数更新


具体生命周期分为:
①实例化
首次实例化
getDefaultProps
getInitialState
componentWillMount
render
componentDidMount

实例化完成后的更新
getInitialState
componentWillMount
render
componentDidMount

②存在期
组件已存在时的状态改变

componentWillReceiveProps
shouldComponentUpdate
componentWillUpdate
render
componentDidUpdate

③销毁&清理期
componentWillUnmount

生命周期

组件嵌套:

逻辑清晰
代码模块化
封装细节

Mixin

代码复用
即插即用
适应性强

使用Mixin实现双向绑定。


推荐阅读:
react组件生命周期过程
React从入门到精通系列
相关:
React主体
webPack
Flex
React-route
Redux
Mocha:测试框架
Istanbul:代码覆盖率