React vs Vue in 2020

技术选型

React

// UserProfile.jsx
function UserProfile({id, showAvatar, onFollowClick}: {
id: string,
showAvatar: boolean,
onFollowClick: () => void,
}) {
const [user, setUser] = React.useState(undefined);
React.useEffect(() => {
fetchUser(id).then(setUser);
}, [id]);
return (
<div>
<div>{id}</div>
{showAvatar ? <Avatar id={id} /> : null}
{user !== undefined ? <UserBody user={user} /> : null}
<button onClick={onFollowClick}>Follow</button>
</div>
);
}

Vue

// UserProfile.vue
<div>
<div>{{ id }}</div>
<Avatar v-if="showAvatar" :id="id" />
<UserBody v-if="user" :user="user" />
<button @click="$emit('follow-click')">Follow</button>
</div>
defineComponent({
props: {
id: { type: String },
showAvatar: { type: Boolean },
},
setup(props) {
const {id} = toRefs(props);
const user = ref(undefined);
function updateUser() {
fetchUser(id.value).then(data => {
user.value = data;
});
}
onMounted(updateUser);
watch(id, updateUser);
return {user};
}
})

结论

如果您是正确性和爱情类型系统的忠实拥护者(我就是其中之一),您可能会更喜欢React。它与TypeScript搭配使用效果更好,并且语言方法更纯正。

Vue具有全局名称空间(尽管您可以避免使用它),但是自定义事件,插件和mixins之类的功能具有JS的动态特性。

出于这个原因,我希望有许多工程师在大型代码库中的复杂应用中使用React。

如果您喜欢从HTML /静态内容开始并大量使用JavaScript的想法,那么您可能会喜欢Vue的模板方法。

对于不熟悉JavaScript的开发人员,Vue可能更容易上手。

模板是直观的,可以逐步采用。您无需考虑重新渲染,数据绑定很容易理解。

这并不是说您无法使用Vue构建复杂的应用程序。如果您花费大量时间在JavaScript上,您可能会喜欢React的更纯净的语言方法。

最后,很难忽视React的大规模采用和庞大的生态系统。对于公司而言,React是风险较小的选择。

具有React经验的工程师要多于Vue的经验。招聘可能会更容易。此外,还有更多其他的React渲染目标(如React Native)可能会有用。

归根结底,您可以同时使用两个框架。我个人仍然更喜欢React,但我不能说它绝对更好。

refs

https://bypaulshen.com/posts/comparing-vue-and-react/



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


React vs Vue in 2020的更多相关文章

  1. React 还是 Vue: 你应该选择哪一个Web前端框架?

    学还是要学的,用的多了,也就有更多的认识了,开发中遇到选择的时候也就简单起来了. 本文作者也做了总结: 如果你喜欢用(或希望能够用)模板搭建应用,请使用Vue    如果你喜欢简单和“能用就行”的东西 ...

  2. Angular React 和 Vue的比较

    Angular(1&2),React,Vue对比 一 数据流 数据绑定 Angular 使用双向绑定即:界面的操作能实时反映到数据,数据的变更能实时展现到界面. 实现原理: $scope变量中 ...

  3. react构建淘票票webapp,及react与vue的简单比较。

    前言 前段时间使用vue2.0构建了淘票票页面,并写了一篇相关文章vue2.0构建淘票票webapp,得到了很多童鞋的支持,因此这些天又使用react重构了下这个项目,目的无他,只为了学习和共同进步! ...

  4. 前端框架:react还是vue?

    之前写了一篇前端框架的大汇总,主要介绍了当下主流的框架和其特性.最近除了bootstrap,就属react和vue最为热门,这篇就主要拿这两个框架来做一下详细对比. 究竟如何正确使用?作为小白的我们从 ...

  5. Jerry的碎碎念:SAPUI5, Angular, React和Vue

    去年我去一个国内客户现场时,曾经和他们IT部门的一位架构师聊到关于在SAP平台上进行UI应用的二次开发时,UI框架是选用UI5还是Vue这个话题. 我们代表SAP, 向客户推荐使用UI5是基于以下六点 ...

  6. react VS vue 我们究竟该如何选择(从项目的角度帮你分析)

    一.序言 现在web开发最火的两个框架,react和vue.听起来就感觉很牛逼的样子.确实,不得不服,创造出这2种框架的人真的是牛逼.不过更牛逼的是为这2中框架不断完善的人.一个优秀的idea,会在很 ...

  7. 技术趋势:React vs Vue vs Angular

    React.Vue 和 Angular 这两年发展状况如何?2019 年哪个技术最值得学习? 前几天 Medium 上有一位作者发表了一篇关于 React.Vue 和 Angular 技术趋势的文章( ...

  8. 三大前端框架(react、vue、angular2+)父子组件通信总结

    公司业务需要,react.vue.angular都有接触[\无奈脸].虽然说可以拓展知识广度,但是在深度上很让人头疼.最近没事的时候回忆各框架父子组件通信,发现很模糊,于是乎稍微做了一下功课,记录于此 ...

  9. 简述react与vue的区别

    React 和Vue是现在主流的两个框架(相对来说angular用的已经少了) 两者的区别体现在以下方面 相同点: 1.react和vue都支持服务端渲染 2.都有虚拟DOM,组件化开发,通过prop ...

随机推荐

  1. MySQL中redo log、undo log、binlog关系以及区别

    MySQL中redo log.undo log.binlog关系以及区别 本文转载自:MySQL中的重做日志(redo log),回滚日志(undo log),以及二进制日志(binlog)的简单总结 ...

  2. 浅谈正向代理、反向代理和CDN的区别

    一.正向代理 1.正向代理位于客户端和源服务器之间的服务器(代理服务器): 2.隐藏客户端:由代理服务器代替客户端去访问目标服务器,用户需要设置代理服务器的IP和端口: 3.每一次请求是到代理服务器, ...

  3. apache https 双向证书生成

    Https分单向认证和双向认证 单向认证表现形式:网站URL链接为https://xxx.com格式 双向认证表现心事:网站URL链接为https://xxx.com格式,并且需要客户端浏览器安装一个 ...

  4. Ajax原理,技术封装与完整示例代码

    在做项目和学习的时候,经常用到Ajax的相关技术,但是这方面的技术总是运用的不是十分好,就寻找相关博客来学习加深Ajax技术相关. 一.Ajax简介 二.同步.异步传输区别 2.1 异步传输 2.2 ...

  5. chrome标签记录——关于各类性能优化

    概述 详情 概述 平时经常浏览各大博客,总感觉要学习和需要学习的内容太多太多,而自己的个人能力还不足够写出一些好的文章出来,就只能通过学习他人的东西不断提升自己的实力,然后就会记录收藏各种优秀的博客资 ...

  6. java 将内容写入文件 txt

    @Test //将内容写入文件 public void xieru() throws Exception{ FileWriter fileWriter=new FileWriter("d:\ ...

  7. 第2层交换和生成树协议(STP)__散知识点

    1.交换式服务 网桥是基于软件的,而交换机使用专用集成电路(ASIC)来创建并维护其过滤表.2层交换机和网桥转发数据的速度比路由器快一些,因为它们不查看网络层报头的信息,不对数据包做任何修改.相反,在 ...

  8. IntelliJ IDEA 内置数据库管理工具实战

    1. 写在前面 开发Java应用程序,作为明星工具IntelliJ IDEA Ultimate当然是首选,然后进行数据库SQL开发的时候,常常会选择诸如:Navicat , sqlyog, MySQL ...

  9. Flink-v1.12官方网站翻译-P011-Concepts-Overview

    概念-概览 实践培训解释了作为Flink的API基础的有状态和及时流处理的基本概念,并提供了这些机制如何在应用中使用的例子.有状态的流处理是在数据管道和ETL的背景下介绍的,并在容错部分进一步发展.在 ...

  10. 动态代理+静态代理+cglib代理 详解

    代理定义:代理(Proxy):是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能. 动态代理+静态 ...