苦于 vue3 的轮子太少,vs code 插件好像也 BUG,去看了 react 文档 感觉像重新学习 js 一样,vue 语法糖太方便直观,导致忘记 js 原本是啥样子。。。 不过还是决定转 react 了,vue3 这个 UI 库(我主要 vuetify )断档 vscode 插件断档,确实挺伤的

苦于 vue3 的轮子太少,vs code 插件好像也 BUG,去看了 react 文档 感觉像重新学习 js 一样,vue 语法糖太方便直观,导致忘记 js 原本是啥样子。。。 不过还是决定转 react 了,vue3 这个 UI 库(我主要 vuetify )断档 vscode 插件断档,确实挺伤的
1 looppppp Mar 8, 2021 react 的编码乐趣高,vue 干活快 |
2 jchencode Mar 8, 2021 React 生态确实好,国人太卷了,007 、996,谁还有时间搞开源的东西(手动滑稽)。 |
3 Rhilip Mar 8, 2021 vuetify 的 roadmap 说是 Q3 能发布,我还能等(反正个人项目,无所谓 |
4 123jiayue Mar 8, 2021 via iPhone vue3 没动力转 |
5 ysoseriousC OP @123jiayue 动力有,但是阻碍太多。可能是因为我太菜了 |
6 wisunny Mar 8, 2021 据说现在上面要求国产化,有些那种公司用 react 的要转为用 vue |
OP @Rhilip 对,但是等不及了。。。 |
8 ysoseriousC OP @wisunny 这个。。。真没必要吧感觉,但是我其实是肉翻人员所以无所谓。。。 |
9 ysoseriousC OP @aninchiron 我赶紧去体验一下乐趣 |
10 ysoseriousC OP @LiuJiang 国内确实 996 太严重了 |
11 shintendo Mar 8, 2021 这还有什么转不转的,今天用用这个明天用用那个,为什么非要做个“决定”捏 react 主要优势是 TS 相性好( vue3 也没得打),但是在 react 能把代码缩进对齐之前,我实在没有胃口在能自由选择技术的个人项目里用它…… |
13 newbieRenew Mar 8, 2021 via iPhone 不喜欢语法糖。还是 React Hook 写起来舒服,建议新手直接上 Hook,免受各种生命周期之苦。JSX 就像臭豆腐,乍一看什么玩意,用起来是真香。 |
14 easylee Mar 8, 2021 帖子里应该前端同学比较多,我目前业务使用 Angular 给后台写 Admin,有必要转到 React 吗(看到周围基本都是 vue+React )? |
16 wisunny Mar 8, 2021 @ysoseriousC #8 肉番了就应该是 react 更友好吧,库,文档那些更全面 |
17 br_wang Mar 8, 2021 无聊时自己用 react 撸 blog,样式代码就挺那啥的……(好吧,我用了 styled-components )。 虽然日常我也经常吐槽 sfc 把整个构建流弄得乱七八糟的,配个 eslint 还要装一堆 vue 的插件,但在样式上还是比 styled-components 规整一些。 |
18 Zzzz77 Mar 8, 2021 其实不存在什么转不转的。。公司让用的什么就用什么好了。。除非你是团队领导 |
19 ysoseriousC OP @easylee 我之前写了一年多 angular 做 admin angular 很适合了 |
20 ysoseriousC OP @newbieRenew 好的我去瞅瞅 |
21 ysoseriousC OP @Zzzz77 前端选型有话语权,所以希望工作的同时可以拓宽技术面,提升自己 |
23 murmur Mar 8, 2021 vue 除了没有 vue.native 生态哪里差了 真以为 react 库多 react 生态就好了 但凡懂一点前端的都不会这么说吧 |
24 ysoseriousC OP @br_wang 我还没 get 到 styled-component 的爽点在哪。。 |
25 ljwrer Mar 8, 2021 vue3 竟然还不支持用 interface 定义组件 props,匪夷所思 |
26 ysoseriousC OP @murmur 我确实不懂才去学的。。。vue3 语法糖很舒服,但是开发工具至少我这里有问题,可能是我的问题,搞得很烦所以索性去已经完善的环境学习去 |
27 br_wang Mar 8, 2021 @ysoseriousC 我只是想想变量可以跟 JS 用一套还挺方便的就用了。但用完感觉还是直接删改 className 其实就够了,可能我的需求不够复杂吧。 |
28 ji39 Mar 8, 2021 别盲目跟风就好 |
29 ysoseriousC OP @ji39 嗯,我先去学一下看看 |
31 br_wang Mar 8, 2021 @shintendo Vue 的 props 设计就只能 anotation 吧? https://v3.vuejs.org/guide/typescript-support.html#annotating-props 不能像 React 那样 Component<IProps, IState>。 |
32 ccraohng Mar 8, 2021 via iPhone react antd pro 还不够快么 |
33 rodrick Mar 8, 2021 先学的 vue,最近刚开始学 react,觉得 react 比 vue 舒服在于至少不用记那么多的指令 |
34 qzhai Mar 8, 2021 不如看看 angular |
35 ychost Mar 8, 2021 vue2 写起来也蛮舒服的,我个人觉得 react 写起来很不爽 |
36 Jirajine Mar 8, 2021 via Android react 简洁优雅,尤其是你熟悉函数式的情况下。 你喜欢 vue 的话也可以试试 svelte,不过生态更差就是了。 |
37 oop99 Mar 8, 2021 也用 vuetify, 觉得现在用 vue3 太激进了, 可以等等. React 用了很多年了, Vue 用<1 year, 感觉 Vue 挺好用的. React 相关的包 参差不齐, 反而 Vue 的相关包, 还相对没那么多轮子; React 的 next, 比起 Vue 的 nuxt, 用起来还是差挺多(复杂项目时, next 按官方 example 集成多个功能时, 可能互相排斥); Vue 如果没有很多约定, 可能比较容易出现 难以维护的 code, React 相对好些(当然 主要看人); 两个都可以玩, 还是要看具体项目那个更合适, 国内 Vue 好招人, 也是个优势; |
38 tikazyq Mar 8, 2021 vue3+ts 不要太香,没有生态?自己造轮子 |
40 binaryify Mar 8, 2021 转 react 为啥不干脆继续用 Vue2, React 说实话坑不见得少 |
41 Shook Mar 8, 2021 compositon api 和 hooks 体验差不多,也用 vue3 上手写过一些公司项目了,觉得还不错的。 |
42 miloooz Mar 8, 2021 @ljwrer vue3 defineComponent 用于手动渲染函数、TSX 和 IDE 工具支持。 你希望写 interface 或者 type,可以把你写的这个类型放到 setup(props: 组件 props, context) 。有 defineComponent,其他组件是可以读取到当前组件的 props 的(父组件得用 tsx ),而 vue 自带的 props 字段可以确定传入的 prop 的类型,没什么可匪夷所思的吧 |
43 ijrou Mar 8, 2021 目测难道 vue 要被喷死?? |
46 aaronlam Mar 8, 2021 @newbieRenew 哈哈哈哈哈,感觉最后一句真的太真实。刚开始从 .NET 后端转前端,看 JSX 真的感觉像屎,现在感觉真香。。 |
47 JerryCha Mar 8, 2021 2021 年 3 月 8 日,国际妇女节,前端还在为 Vue 还是 React 吵架。 真正合格的前端工程师应该 VRA 全干。 |
49 littlewing Mar 8, 2021 via iPhone @wisunny 有这时间还不如先把 flash 给我废掉,哦,不对,flash 特供版是国产的 |
50 ericls Mar 8, 2021 via iPhone react 就是 Javascript 不需要学习. Angular 这些 是有自己的语言的 一个语言需要一套完整的工具链 做框架的心思去做是不够的 |
52 anguiao Mar 8, 2021 via Android @Oktfolio 因为 TS 给 React 开了小灶,自然支持得好。你说 React 支持 TS,不如说 TS 支持 React 。 |
53 murmur Mar 8, 2021 作为一个程序员,很多人在选择框架的时候,倾向于选择难度大、容易装 3 的,这样可以保住自己的地位,要不随随便便找个小白培训两天就把你顶替多没面子 前端的顶端,包括企业级电子表格、企业级图表、word 级富文本编辑器、游戏引擎等,都不依赖任何框架,纯 JS,当你对性能足够极致的时候,框架只会束缚你的思路 大家都是站在巨人肩膀上造轮子玩,谁比谁高端啊 很多人说 react 不用学习,对,因为你学过 es6,这是最恶心的那堆,而 vue 都不需要 es6 基础,会点 js,写过 jquery 都可以上 |
55 Jirajine Mar 8, 2021 via Android @murmur 另外真不知道 es6 怎么还成缺点了,js 历史包袱这么重,lambda 等现代编程语言的优秀特性怎么就恶心了。 |
56 ericls Mar 8, 2021 via iPhone @murmur <h2>Products</h2> <div *ngFor="let product of products"> <h3> <a [title]="product.name + ' details'"> {{ product.name }} </a> </h3> <p *ngIf="product.description"> Description: {{ product.description }} </p> </div> 这是怎么语言? html 吗? 你能用 html debugger 吗 debug 这个吗? 你能用 Javascript debugger debug 这个吗?都不能。 我赞同很多时候应该不用框架。 但是 react 应该是唯一一个只写 Javascript 就能用的。 |
57 murmur Mar 8, 2021 @Jirajine 对啊,你工整都做不到何谈优雅,hooks 你认为优雅是因为 react 默认的生命周期又长又臭,不通过编辑器补全无法准确记忆,但是 vue 不存在这个问题,vue 的生命周期短小精悍,很容易默写。而且 vue 本身就是没给你太多优化的口子,我也赞同这一点,什么都不做就叫好?不见得,很多时候在你没有明确把握的时候,相信框架的优化,要么就别上框架,无脑堆一大堆元素频繁刷新什么框架都扛不住。 es6 要学那么多东西不是缺点么,前端就是喜欢造轮子,es6 里的绝大多数特性都可以通过库实现,不会都 2021 年了还有人认为代码的长度反比于程序性能吧 @ericls 模板里的东西都对应了 state,既然你可以通过调试工具看到 data 的状态,为什么没法调试,jsx 不也是转换到 js 才可以调试么 另外,html 和 css 是人的颜面、衣服、化妆品,任何一个前端都要熟练掌握,否则做出来的东西就是俗、丑,也许大公司有专门的切图工程师? |
59 imycc Mar 8, 2021 算半个前端,以前用的还是 angularjs1.x 版本,后面自学了一阵 vue 。去年挑框架的时候最后还是选了 react+antd 。 其实我挺馋 vue2 的上手门槛的,写了太久的弱类型,切到 typescript 之后,很长一段时间在学习怎么声明接口,拆分接口。到现在还没用上类,直接用的函数组件。 但我有大版本更新 PTSD,技术选型的时候 vue3 刚出,配套的组件库还不完善。又不想用着 vue2 的时候挂念着 vue3,干脆等以后再搞了。 最戳我痛点的是开箱即用的 antd pro 。前东家十几号人仿着 antd 和 element 的设计规范,搞了好久才搞出来一套相对完善的规范。小团队缺设计缺产品,虽然 antd 之前出过幺蛾子,但还是相对齐全的(虽然找 API 还是很累人) |
61 Jirajine Mar 8, 2021 via Android @murmur hooks 任意组合逻辑复用,并且它本身就是普通的函数没有任何魔法,算得上大道至简了。相比之下 lifecycle 方法这里注册那里释放,且不易复用,难受得多。 react class component 确实不如 vue,但这和命名长短没关系,而是范式问题,react 拥抱函数式,用 class 感觉上就不协调。 es6 都是现代编程语言的优秀特性,都是好东西,我不明白怎么成缺点的。按你这样论我还可以反过来说 vue 没有有效利用上 es6 的优秀特性呢,es6 之前的 js 那么多历史包袱,要学的各种坑一大堆。 react 的范式是和 html 与 css 解耦的,xml 只是语法糖,css 也是比较落后的设计,现在各种 UI 框架大多都支持 style,很少有支持 css 的。 html 和 css 只是表达的工具,工具只有好用不好用,做的东西丑不丑和工具没关系,那是设计的事情。就算没设计那就拿开源的样式用就完事了,搞出来的东西俗、丑那是不懂设计还要硬来。 |
62 jones2000 Mar 9, 2021 直接 jquery 上, 哪里都可以用。 |
63 imjamespond2020 Mar 9, 2021 via Android vue 是最好的前端框架,但是我选择用 react 开发,谢谢 |
64 Perry Mar 9, 2021 via iPhone vue 是最好的前端框架,但是我选择用 react 开发,谢谢 +1 |
65 popil1987 Mar 9, 2021 via Android react 杀手级项目比较多。小程序有 taro,app 有 react native,后台有 antd pro,cms 有 strapi,比较适合全干。vue3 更新的破坏性比较大,一些主要 UI 库没跟上,react 更新要没有那么大破坏性。个人感觉 react 更符合编程思维,特别是 css-in-js 理念。不过,redux 这个东西对初学者打击比较大。vue 作为 star 最快的前端框架当然也非常值得关注 |
66 a7dog Mar 9, 2021 推荐 svelte,2021 年最深欢迎的框架(编译器),用着的确爽 |
67 atonku Mar 9, 2021 前端不太懂,但是垃圾 jfinal |
68 ysoseriousC OP |
69 flashrick Mar 9, 2021 @murmur 我认为反而是大部分人喜欢用更简单快捷的语言、框架导致程序员这个行业没有门槛积累,前几天看到一个毕业一年半的本科生就自称高级工程师了。反正背背算法,看下底层、手册就可以上了,加上名校大厂背书,想当高级工程师也太容易了,哈哈 |
70 IsaacYoung Mar 9, 2021 via iPhone 又开始了 |
71 yaphets666 Mar 9, 2021 如果一个人第一份工作就是前端,他一定会觉得 vue 好,因为 vue 更接近 CSS HTML JS 分离. 如果这个人是从其他岗位转前端,那就不一定了,这部分人总是拿非前端思维来看前端. 这就是为什么尤雨溪做出的是 VUE,而 facebook 全栈做出的 react |
72 aoaione Mar 9, 2021 入门 ext,后面转 vue2,现在用 react,个人感受有这么几个,同样的业务实现,再加上 TS 的各种声明,react 代码相比于 vue 是更多的。还有就是组件化的思维真正得到了改变,还有前端基础的弥补,可能是因为 react 太灵活了,一旦没规划好,代码写出来就是一团糟,特别是现在的 hook,比较考验代码能力。我感觉 vue 出活确实快,公司如果有一定的规模,react+ts 可能才会更好维护。 |
73 zhlssg Mar 9, 2021 @yaphets666 与你相反,从我周边的经验来看,后端更喜欢 vue,因为更接近他们以前用的 template 语法,前端更喜欢 react,因为更大的自由度 |
74 wyyyyyy123 Mar 9, 2021 @IsaacYoung [摊手] |
75 vone Mar 9, 2021 |
76 John60676 Mar 9, 2021 Vue 3 的轮子?这段时间搞了个。一个能轻松帮你管理请求状态(支持 SWR,轮询,错误重试,缓存,分页等)的 Vue 3 请求库。欢迎大佬们提点建议 地址: https://github.com/AttoJS/vue-request |
77 yaphets666 Mar 9, 2021 @zhlssg 可能我观察范围小吧 不过自由度这种东西和框架没啥关系 react 能实现的 vue 都能实现,反之亦然. |
78 yaphets666 Mar 9, 2021 @vone 不太明白你想表达什么,是说 css in js 比 单独写 css 好吗? 如果是说这个话那肯定不对,css in js 维护成本太高了,几乎是不可维护的. |
79 litel Mar 9, 2021 是 VUE2 不够用吗? |
80 shunia Mar 9, 2021 @murmur #51 51 楼的说法是错误的,react 本身没有任何写法上的要求,不需要你内置样式,甚至不依赖 jsx 。全程正常写 js 就可以。 官方文档第一篇就写着“你并不需要 jsx”,jsx 其实可以认为是 react 世界的语法糖,它把手写嵌套 React.createElement 的过程用 jsx 来代替,最终交给编译器( Compiler )去转化。 内联样式( styled-components, emotion )则纯粹是业界更高形态的工具,高内聚方便组件化。如果不喜欢,使用原始的 css 文件根本没有任何问题。 如果要这么考虑 react 的话,那你对 vue 可能是有点过于主观了,因为 vue 要学的东西只多不少,而你认为 vue 的指令只是学单词,这不合适。 |
81 clf Mar 9, 2021 日经贴了,Vue 的话就是框架帮你做了很多东西,React 的话就是你可以自己去做很多东西,各有所长。 |
82 Terry05 Mar 9, 2021 客观评价出各自长短,按需选用即可 神烦这种一方要掐死另一方,自己支持的就是牛逼,自己反对的就是垃圾 |
83 Sendya Mar 9, 2021 工作时,啥都在用,vue react jquery |
85 cooker498 Mar 9, 2021 最好的当然是 php |
86 shintendo Mar 9, 2021 每次看见“react 就是 js”的说法都很迷惑,我翻遍了 ES 标准也没看到 JSX 啊,className 又是什么东西 什么你说你手写 render function,那 vue 也可以手写 render function 啊,比较非主流用法没有意义 |
87 shunia Mar 9, 2021 @shintendo #84 所以整楼也没人抓着 vue 的 template 说什么,那我觉着也没必要觉得 react 的 jsx 就是什么洪水猛兽了吧? |
88 shunia Mar 9, 2021 @shintendo #86 谁说了 jsx 是 es 标准?另外 jsx 也不是只有 react 在用。 className 是因为 html 原生有 class 的属性,所以在书写 jsx 的时候避免冲突新增了 className 这个属性。 首先没必要对立 react 和 vue,两者本来就不一样。 其次我解释的原因是很多人对 react 并不了解,就非要去搞对立,我就我懂的部分作出解释。 |
89 knives Mar 9, 2021 |
90 wisetc Mar 9, 2021 via iPhone 哎,还在 react,react 写 react component 还是挺爽,适合写逻辑,移植性也高。但是项目一旦大一点就需要架构了,没有双向绑定,而且没有那么多好用的语法糖。大一点的项目,用 vue 框架难道不香吗? |
91 shintendo Mar 9, 2021 |
92 shunia Mar 9, 2021 @shintendo #91 YY 吗,谁说了 jsx 是 react 的标准,又有谁说了 vue 的 template 是额外语言? 我感觉还是回到理性上探讨技术细节,别在这儿玩 ctrl+F 了。 |
93 bleepbloop Mar 9, 2021 我至今都想不明白,程序员为什么不为自己的利益去跟老板吵架,却喜欢因为语言和框架吵架。百思不得其解 |
94 Perry Mar 9, 2021 via iPhone @shintendo 你没学过 Javascript 吗,className 不是文档里有? https://developer.mozilla.org/en-US/docs/Web/API/Element/className |
95 gaigechunfeng Mar 9, 2021 又开始了? vue2 用着不香吗?小程序 uniapp 用着也还行啊。 反正我是半年没有更新技术栈了,目前够用。vue2 一个 vue-admin 就搞完了啊。 至今还没接到市面上轮子完不成的需求,当然我也就是个搬运工把。哈哈 |
96 shintendo Mar 9, 2021 @shunia react 就是 Javascript 不需要学习. Angular 这些 是有自己的语言的 一个语言需要一套完整的工具链 做框架的心思去做是不够的 这是怎么语言? html 吗? 你能用 html debugger 吗 debug 这个吗? 你能用 Javascript debugger debug 这个吗?都不能。 我赞同很多时候应该不用框架。 但是 react 应该是唯一一个只写 Javascript 就能用的。 ---------- 这不是有人说吗,真奇怪,到底谁 YY 。我对你的说法只回了“说 react 可以不用 jsx 是理论上成立而没有实践意义的论点”,其它话都没有回你啊 |
97 murmur Mar 9, 2021 @shunia className 和 class,就像车念车和 ju 一样,前端多少年都在念 che 结果有一天 react 出来了,说因为开 che=ghs,所以我们现在不念开 che 了,念开 ju,这个读音字典里也有是吧 前端娱乐圈,天天搁那开倒 ju |