我的愚见: React 和 Vue 区别

一. 类似之处css

  1. 它们都是前端优秀的UI库
  2. 使用 Virtual DOM快速渲染
  3. 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。
  4. 都支持服务端渲染
  5. 将注意力集中保持在核心库,而将其余功能如路由和全局状态管理交给相关的库。

二. 不一样之处html

  1. 性能方面

    React 组件的状态有变化时,它会以该组件为根,从新渲染整个组件子树,须要使用PureComponent,或是实现shouldComponentUpdate(15)、getDerivedStateFromProps(16)方法进行优化前端

    Vue 使得开发者再也不须要考虑此类优化,从而可以更好地专一于应用自己。react

  2. 数据的可变性

    React 它是函数式的思想,把组件设计成纯组件,状态和逻辑经过参数传入,因此在react中,是单向数据流,推崇结合immutable来实现数据不可变。在setState以后会从新走渲染的流程,若是shouldComponentUpdate(15)返回的是true或getDerivedStateFromProps(16)返回的不是null,就继续渲染,若是返回了false,就不会从新渲染,PureComponent就是重写了shouldComponentUpdate,而后在里面做了props和state的浅层对比api

    Vue 它是响应式的思想,也就是基因而数据可变的,经过对每个属性创建Watcher来监听,当属性变化的时候,响应式的更新对应的虚拟domdom

  3. 渲染方式函数

    React 他的思路是all in js,经过js来生成html,设计了jsx,经过js来操做css
    
    Vue 提供了渲染函数,同时也支持JSX,默认推荐的仍是模板,任何合乎规范的 HTML 都是合法的Vue模板
  4. 声明方式

    React 是类式的写法,api较少组件化

    Vue 是声明式的写法,经过传入各类options,api和参数较多性能

  5. 扩展功能方式

    React 经过高阶组件来扩展优化

    Vue 经过Mixins来扩展

相关文章
相关标签/搜索