Vue和React的区别

169 阅读1分钟

1.数据相关

  • Vue使用可变数据,React强调数据不可变。
  • Vue双向绑定,React单项数据流。

2.组件相关

  • Vue用minxin,React用HOC(高阶组件)
  • 组件通信,子组件->父组件,Vue通过事件通讯,React回调函数通信多。

3.渲染相关

  • React渲染方式更加原生JS(Vue import一个组件后需要components生命)
  • 渲染过程:Vue跟踪每一个组件的依赖关系,不需要重新渲染组件树。React全部渲染子组件,shouldComponentUpdate可控。Vue设置成默认的了。

4.框架本质

  • Vue本质MVVM框架,MVC发展来的。
  • React是前端组件化框架,由后端组件化发展而来。

5.Vuex,Redux的区别

Redux使用的是不可变数据,而Vuex的数据是可变的,因此,Redux每次都是用新state替换旧state,而Vuex是直接修改。Redux在检测数据变化的时候,是通过diff的方式比较差异的,而Vuex其实和Vue的原理一样,是通过getter/setter来比较的,这两点的区别,也是因为React和Vue的设计理念不同。React更偏向于构建稳定大型的应用,非常的科班化。相比之下,Vue更偏向于简单迅速的解决问题,更灵活,不那么严格遵循条条框框。因此也会给人一种大型项目用React,小型项目用Vue的感觉。