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