我的vue与react实践对比

本文分享了作者从Angular到React再到Vue的使用经历,并详细对比了Vue2.0与React在API设计、组件化、状态管理和数据流方面的特点。作者认为Vue2.0更符合渐进式前端框架的理念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

其实我并不想写些框架之间的对比,每个框架各有所长,大家也各有所爱,只想说“PHP是世界上最好的语言”^_^,虽然我没看过一眼PHP的代码。

工作中移动端我用的是vue 2.0,PC端为了兼容可恶的IE8用的是react 0.14,聪明的你肯定知道了我是更喜欢vue2.0的。

最早接触MV*框架是angular,话说那时我还不会jquery~,MVVM思想,更准确说是数据驱动的思想一开始就深入到代码中。后来有机会写jquery,也是数据驱动组件更新,虽然性能低,但必直接操作dom清晰的多。

接触react比vue要早,react的虚拟dom、diff更新和组件化让我觉得挺不错的,再加上redux的统一状态管理,单向数据流让我坚定的拥护react+redux+…技术栈。后来接触了vue1.0,写了个页面,感觉vue的api设计真心不错,而且提供了v-if、slot这种react JSX本应提供的东东,react虽都可实现,但大家都是想少写点代码的,希望用起来更顺畅,更舒心。vue1.0 的双向绑定和发送事件是一把双刃剑,用的好能随心所欲的更改状态,但一步留神就容易出bug。另一个不好的一点是,用惯了react写组件,vue1.0的组件生命周期定义的让我真蛋疼~

刚用vue1.0写完第一个页面,vue2.0 就正式发布了,看了更新内容,我觉得vue1.0 不好的地方它居然都改了,改的更像react了,对数据流进行了单向约束,不再提供随意的事件发送机制,给出了类似react的组件生命周期,原来我的意见作者也是想到了^_^。

总体来说vue2.0 符合渐进式的前端框架,作者也提供了一系列的生态库入vue-router、vuex等。与react相比,它不仅api更优雅,组件内容的双向绑定让你不用再在意props 和 state 的区别,全部都是state。当vuex的更新时,组件会自动更新内部由vuex控制的state。而react如果要实现,则首先需要将props转成state,state维护组件部分的状态,然后每次redux更新时,需要在componentWillReceive时根据新的props更新state。

关于react是否应该用state,我个人觉得纯粹的用props会导致state树包含过多不重要的状态属性,对应的action操作也增加,进而让代码臃肿化,降低开发效率。如果react能够做到像vue这样优雅的做到组件内部只有state,也就不会有用props还是用state的讨论了

现在写着react的项目越发觉得别扭,或许应该写些插件让react更像vue2.0 吧^_^

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值