React 学习曲线要比 Vue 陡峭许多呀

242 天前
 xiaohupro

先说一下自己的技术背景,后端程序员后来转为全栈,日常使用前端的 Vue 比较多,React 只上手过官网的教程 Demo ,目前想学习 React 技术栈这边的,一开始直接上手 Next.js 倒是也能做出东西,但是还是想系统的学习一下,好多概念都不清楚,例如各种 Hook ,以及它们正确的使用场景,有没有前端大佬给一点 React 学习路线,感谢🙏

13090 次点击
所在节点    React
74 条回复
skiy
240 天前
感觉状态管理,不太友好。也太多了,不知道大家用哪个?
epiloguess
240 天前
vue 无敌,一旦理解了 proxy ,一点心智负担都没有,单纯就是框架设计的缺陷/局限/妥协,忍受这么一点点,v-model 秒一切,根本不需要你去担心各种优化,没必要去踩坑 react ,有那闲工夫多打打 cs 基础,学一两门后端语言,早点转后端,早日脱离前端苦海,受两头气。

正儿八经的,不管是 vue 还是 react ,都是写页面,都是组件化的思想,只不过实现的方式不同,都是操作 DOM ,理解了什么时候能操作 DOM 就成功了一大半。别说什么函数式编程,什么代数效应,没什么优越感。react 的很多问题都是自己创造的,都是函数式编程,纯组件所带来,要你去解决 effect 的问题。用 vue 根本就没有这些烦恼。
EricYuan1
240 天前
我是前端我在学后端,我感觉后端学习才陡峭😭
820xR094p6MVvKIn
240 天前
有了 ai 这些都太简单了
Betsy
240 天前
借楼问个 react 相关的框架,主要搞定前端页面就行,后端可能会用 go 之类的语言写。next.js 感觉前后端都包罗进去了
laikicka
240 天前
@Betsy 不用啥框架吧 zustand + tanstack router + rsbuild + ui 库 + react query. 不做 ssr 基本上都能搞定
DeWjjj
240 天前
学过 react 之后我觉得 vue 更好了。
iseki
240 天前
我倒是觉得 React 真很简单,前提是不上 Next.js 。但 Vue 的坑和魔法就太多了。
React 只需要考虑 view=f(state) 就行了, 不出这个圈一点问题都没有,vue 才是真的把语法改了的那个,template 有的能写有的不能写,构建系统也变得更复杂,头大一圈。
至于 Next.js ,我认为大多数时候应该是成本>收益的😅
1Z3KYa0qBLvei98o
240 天前
@murmur 调 css 🫣 那么多种实现方法,哪一种才是好的?🤔 选择恐惧症
1Z3KYa0qBLvei98o
240 天前
@molvqingtai 我看别人评论 go 也是,c++的心智负担也重,所以鹅厂转 go 了
y1y1
240 天前
为 angular 挽尊一下下
1Z3KYa0qBLvei98o
240 天前
你知道当年别人怎么骂微软吗?刚学完一套又换另一套。心智负担非常重。也许 vue 按照微软学术的评价设计上有缺限,不够灵活,但是大家用脚投票的结果就是这个东西通俗易懂,易学好用,还相对不变。公司大了就是希望用框架/流程/制度在人员素质层次不齐/铁打的硬盘流水的兵的情况下保证 deliver 的稳定性,避免幺蛾子带来的社会影响然后船漏水了=》裁员。年轻的时候一个人过觉得自己特牛逼,年纪大了,手机不响,每天清闲没啥事就是幸福。还有拖家带口的事情呢?
1Z3KYa0qBLvei98o
240 天前
魔法多的东西能看源码的都不是事情

反正高考筛选的就是阅读理解和应用

就是乱起八糟各种写法看起来心烦

我记得以前旧时代的微软 team 还要商量 code convention
houshuu
240 天前
现在的 react 比 vue 简单其实,生态基本也稳定了,每个功能社区都有一个绝对领先的组件。
国内用脚投票是 vue ,但海外基本属于 react 一家独大状态,岗位体感 react3:vue1 。前端代码生成的 AI 应用都只支持 react 也能看出来。
charlie21
240 天前
jchnxu
240 天前
@iseki 老哥的体验和我一致。。。
linuxsuren
240 天前
拥抱 vue ,这里是我的接口开发测试工具 https://github.com/LinuxSuRen/api-testing
shunia
240 天前
@epiloguess #42 我差点信了你的话,跑去看了一下 vue 的最新文档,第一页进去就把我给整笑了。

首先左手边上面上来就给我一个 toggle 的强提示,说什么 composition 模式啥啥的,属于是还不知道怎么回事,上来就灌入一个没有前提的知识点。

然后页面内容一上来就给我整上两种编写组件的写法,就是我还没想着吃茴香豆呢就告诉我茴字有好几种写法了。关键是又告诉我说两种写法都一样的,你自己选就 ok 。既然是一个 opinionated 的框架,那就给定一个推荐用法不是更好吗?摆出来两种写法的意义是啥啊。

两种写法吧,也没有任意一种写法支持 0 打包。说真的就这一点,当初 vue2 的文档就写的极其糟糕,以至于看完文档照做我也没有跑起来代码。好的一点是至少如今写明白了写 vue 就是要 100%使用打包器,当然需要使用打包器也不是缺点,实际生产不可能有人不打包。

最后不管哪种写法,给 script 标签加 setup ,给 html 标签上添加魔法,让纯代码的部分有生命周期的概念但是又不明确说明是否有生命周期。这些如果还不叫心智负担,那我不懂什么叫心智负担。对比 react 的两种组件编写方式来说,react 都说的更明白。尤其是 functional component 的写法下,html ( jsx )的学习成本远远小于任何有自定义语法的模板语言。

另外说一小点,vue 给的第一段代码,我一个长期写 typescript 的人,其实根本不理解怎么能在 template 里面正确的引用 count ,因为对一个长期相信类型系统的人来说,这里是一定会被 ts 的 language server 给报错找不到引用的。所以说 2025 年了,一个极其先进的框架,还在隐式的推崇无类型系统优先,我觉得也是一个很大的心智负担。

最最后,关于心智负担我觉得还有一点很重要的是文档是否优秀。react 整个从概念到文档都非常清晰易懂,概念也很少,黑魔法更是几乎没有。你再去看看 angular 的文档,你就知道什么叫到处都是魔法。你再对比你推崇的 vue ,就会发现 vue 其实和 angular 是一个体系的,大面上“你这么做就行了,很简单”,实际上“这里有一个这样的语法,用来解决一个特定的情况”,但是不一会儿呢还有“这里还有一个这样的语法,用来解决下一个你可能会遇到的情况”。这一点在 solidjs 上也有体现,就是学起来让人觉得很头大,要解决一些实际的问题需要太多的细节。
iseki
240 天前
Vue 这样或者那样的小细节太多了,我不是天天写前端,记不住,也不想去记。React 就很简单,反正就那几个 use hook ,class 组件生命周期记不住就不记了,反正只有那么极特殊的情况需要用。
yb2313
240 天前
vue 等同于多学一门简化后的模板语言, 不通用, react 是通用的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1114150

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX