React学习(一)

一:React优点

1、React速度很快:它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好。

2、跨浏览器兼容:虚拟DOM帮助我们解决了跨浏览器问题,它为我们提供了标准化的API,甚至在IE8中都是没问题的。

3、一切都是component:代码更加模块化,重用代码更容易,可维护性高。

4、单向数据流:Flux是一个用于在JavaScript应用中创建单向数据层的架构,它随着React视图库的开发而被Facebook概念化。

5、同构、纯粹的javascript:因为搜索引擎的爬虫程序依赖的是服务端响应而不是JavaScript的执行,预渲染你的应用有助于搜索引擎优化。

 

 

二:React VS Vue

一、相同的部分

1.数据驱动视图,提供响应式的视图组件

2.都有virtual DOM, 组件化开发,通过props参数进行父子组件数据的传递,都实现webComponents规范

3.都支持服务端渲染

4.都有native解决方案,reactnative(facebook团队) vs weex(阿里团队)

 

二、不同的部分

1. JSX vs Templates

  JSX 更灵活,它在逻辑能力表达上完爆模板,但也很容易写出凌乱的render函数,不如模板直观。

  Template 不需要高级版本的 JavaScript 语法,来增加可读性,模板中任何 HTML 语法都是有效的.

2.使用语法、生命周期对比:

  https://github.com/ecfexorg/difference-between-vue-and-react

3.开发模式:React本身,是严格的view层,MVC模式;Vue则是MVVM模式的一种方式实现

4.数据绑定:Vue借鉴了angular,采取双向数据绑定的方式;React,则采取单向数据流的方式

5.state:state对象在react应用中不可变的,需要使用setState方法更新状态;在vue中,state对象不是必须的,数据由data属性在vue对象中管理
6.virtual DOM不一样:vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树.而对于React而言,每当应用的状态被改变时,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个生命周期函数方法来进行控制

posted @ 2018-03-20 11:29  zark_猿人  阅读(109)  评论(0编辑  收藏  举报