Vue比React有什么优势?
时间:2023-03-13 03:29:02
科技观察
p{font-size:2em;text-align:center;}过去5年我一直是React工程师。我喜欢React,也喜欢开发React应用程序。我认为它是目前最好的UI框架之一。然而,React在这个领域有一些竞争对手,其中最大的是Vue.js。我玩过Vue.js一段时间,但我认为当时的体验已经过时了。因为我将深入研究Vue.js的工作原理以及它如何使我的工作更轻松。在深入研究Vue.js文档并使用它之后(注意:我绝对不是Vue.js专家),我惊讶地发现Vue.js在某些方面甚至比React做得更好。最后,我希望React能受到Vue.js的启发并开始这样做。1.不同的哲学Vue.js和React之间的一个主要区别是它们如何定位自己。从他们的官方网站直观地看,React将自己描述为“用于构建用户界面的JavaScript库”,而Vue.js将自己描述为“渐进式JavaScript框架”。React是一个库,而Vue.js是一个框架。我认为在很多方面这是这些UI框架表现不同的根本原因。我想强调这一点,以便您在阅读本文时牢记这一点。从历史上看,库和框架都专注于使它们做得更好,但框架在需求和功能方面更全面,而库则更少、更轻量级。2.Vue和React都有创建UI的组件。组件通常由3部分组成:UI(HTML)Behavior(JavaScript)Appearance(CSS)Vue.js的思想是使用单文件组件来编写一个out-of-the-覆盖所有3部分的组件盒子的方式。它看起来像这样:{{greeting}}World!
p{font-size:2em;text-align:center;}即使你不是Vue.js工程师,也能看懂这里的代码。React组件提供开箱即用的UI和行为部分,但样式在很大程度上不受限制:importReact,{useState}from'react';functionButton(){const[count,setCount]=useState(0);return(setCount(count+1)}>Currentcount:{count}
Clickme);}当然,React有一个非常活跃的社区,所以如果你想包含样式,你可以轻松使用Emotion或StyledComponents来填补样式空白,但是:它们不是内置的;您必须了解这些库才能使用它们。这与默认提供这些的Vue.js完全相反。3、官方支持的相关库任何足够大和复杂的UI应用都需要两个额外功能的支持:路由状态管理Vue.js官方支持的库涵盖了这两个场景:VueRouter和Vuex。这些库在Vue.js文档中明确提及,由Vue.js核心团队开发和维护。太奇妙了。它为刚接触Vue.js的工程师提供了解决问题的清晰方法,并让他们相信这些库会长期维护。拥有支持第一方的库不会限制社区解决方案,但它确实为新用户提供了入门解决方案浏览Vue.js的样式指南。它回答了Vue.js新手可能遇到的许多问题,并提供了有关如何编写“正确”且可访问的Vue.js的最佳实践。它分享来自社区的久经考验的最佳实践和模式。最重要的是:它由Vue.js官方维护和支持!这很棒!5.类和样式绑定上面提到,Vue.js内置了对样式的支持。此外,Vue.js本质上内置了类名。Classnmes是一个很棒的库,可以轻松连接和动态构建应用于HTML元素的CSS类名。而在React中,您需要了解库,然后安装它。在Vue.js中,这只是另一个内置功能:参考文档:Vue.js模板:
数据内容:data(){return{isActive:true,hasError:false}}呈现的UI:
很高兴有这个内置项目。Vue.js进一步支持内联样式。与React一样,Vue.js支持内联样式,但Vue.js比React更好的地方在于它可以自动为所需的CSS添加前缀。参考文档:使用:style时,需要添加以浏览器引擎为前缀的CSS属性。以transform为例,Vue.js会自动检测并添加相应的前缀。真正展示了框架控制自己的模板语法的优势。6.插槽React中的一切都是道具。如果你想在React组件中渲染多个子节点,只需添加多个props:functionNav({left,right}){return(