美文网首页
vue和react的区别

vue和react的区别

作者: sun_hl | 来源:发表于2021-09-06 17:16 被阅读0次

    vue和react的区别:

    • 1、模板渲染方式的不同
      在表层上,模板的语法不同,React是通过JSX渲染模板。而Vue是通过一种拓展的HTML语法进行渲染。
      在深层上,模板的原理不同,通过原生JS实现模板中的常见语法,比如插值,条件,循环等,都是通过JS语法实现的,更加纯粹更加原生。
      Vue是在和组件JS代码分离的单独的模板中,通过指令来实现的,比如条件语句就需要 v-if 来实现对这一点,这样的做法显得有些独特,会把HTML弄得很乱。

    • 2、渲染过程不同
      Vue可以更快地计算出Virtual DOM的差异,这是由于它在渲染过程中,会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。
      React在应用的状态被改变时,全部子组件都会重新渲染。通过shouldComponentUpdate这个生命周期方法可以进行控制,但Vue将此视为默认的优化。

    • 3、框架本质不同
      Vue本质是MVVM框架,由MVC发展而来;
      React是前端组件化框架,由后端组件化发展而来。

    • 4、数据流不同
      vue是响应式的数据双向绑定系统,而react是单向数据流,没有双向绑定。

    • 5、监听数据变化的实现原理不同
      Vue通过 getter/setter以及一些函数的劫持,能精确知道数据变化。
      React默认是通过比较引用的方式(diff)进行的,如果不优化可能导致大量不必要的VDOM的重新渲染。为什么React不精确监听数据变化呢?这是因为Vue和React设计理念上的区别,Vue使用的是可变数据,而React更强调数据的不可变,两者没有好坏之分,Vue更加简单,而React构建大型应用的时候更加鲁棒。

    • 6、Vuex和Redux的区别
      从表面上来说,store注入和使用方式有一些区别:
      在Vuex中:

    $store被直接注入到了组件实例中,因此可以比较灵活的使用。使用dispatch、commit提交更新,通过mapState或者直接通过

    this.$store来读取数据。

    在Redux中:我们每一个组件都需要显示的用connect把需要的props和dispatch连接起来。
    另外,Vuex更加灵活一些,组件中既可以dispatch action,也可以commit updates,而Redux中只能进行dispatch,不能直接调用reducer进行修改。

    相关文章

      网友评论

          本文标题:vue和react的区别

          本文链接:https://www.haomeiwen.com/subject/vcfywltx.html