Vue和React区别

188 阅读1分钟

相同点:

  1. 都支持服务器渲染;
  2. 都有虚拟Dom,组件化开发,通过props参数进行父子组件数据的传递;
  3. 都实现webcomponent规范;
  4. 都是数据驱动视图;
  5. 都有状态管理,react有redux,vue有vuex;
  6. 都有支持native方案,react有react native,vue有weex

不同点:

  1. react严格上只针对mvc的view层,vue是mvvm模式
  2. 虚拟dom不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个dom组件树,而react不同,当应用的状态被改变时,全部组件都会重新渲染,所以react中用shouldcomponentupdate这个生命周期的钩子函数来控制;
  3. 组件写法不一样,react是jsx的inline style,就是把html和css全写进js中,vue则是html,css,js在同一个文件
  4. 数据绑定不一样,vue实现了数据双向绑定,react数据流动是单向的,在react中,state对象需要setstate方法更新状态,在vue中,state对象不是必须的,数据由data属性在vue对象中管理。