vue 与 react

Vue和react相同之处:

  a)       使用虚拟DOM

  b)       提供了响应式和组件化的视图组件

  c)        注意力集中保持在核心库(渐进式框架),而将其他功能(路由、全局状态管理)交给相关的库

优化

  在react应用中,当某个组件的状态发生变化时,它会以该组件为根,重新渲染整个组件子树。如果要避免不必要的子组件重渲染,你需要在所有可能的地方使用Purecomponent,或是手动实现shouldcomponentUpdate,同时需要不可变的数据结构(immutable)来使得组件更加容易被优化。然而,

  在vue中,组价的依赖是在渲染过程中自动追踪的,所以系统能精确的知道那个组件需要被重渲染,可以理解为每一个组件都自动获得了shouldcomponentUpdate

HTML & CSS

  JSX & Templates

    在React中所有组件的渲染功能都依靠JSX,JSX是使用XML语法编写JavaScript的一种语法糖。优势:

      a)      可以使用完整的编程语言JavaScript来构建你的视图界面,

      b)     开发工具对JSX的支持比起现有可用的vue模版比较先进(linting、类型检查,编辑器的自动完成)

    Vue也提供了渲染函数,甚至支持JSX,然而更推荐的还是vue模版。

      优势:

        a)      对于很多习惯了HTML的开发者来说模版比起JSX读起来更加自然

        b)     基于HTML的模版使已有的应用逐步迁移到vue更为容易

        c)      也可以使用其他模版处理器(如Pug)来书写vue模版

  CSS

    React中CSS作用域是通过CSS-in-JS的方案来实现的(style-component)

         Vue也支持CSS-in-JS(styled-component-vue),vue中设置样式的默认方式是单文件组件中style标签(scoped则是防止样式覆盖)。通过vue-loader来对.vue文件进行编译

原文地址:https://www.cnblogs.com/kingwu/p/10081457.html