真诚发问,非钓鱼贴。之前一直用的是 vue,最近学了下 react,感觉上 vue 的语法好像是比 react 更简单。那么为啥国内外大公司都在用 react,用 vue 的相对比较少呢?是因为 react 先流行起来的吗?

2022 年 9 月 2 日
 yesswssdlh
23503 次点击
所在节点    程序员
185 条回复
nzbin
2022 年 9 月 2 日
@youxiachai 简单列几点吧:
1 、vue 最开始确实抄袭了 angularjs 的设计理念及部分实现,但是作者并不承认
2 、vue 的营销有点低劣,最开始的文档上面列举了和所有框架的对比,但是很多对比并不准确(对其它框架的认识很肤浅),导致很多人误以为真
3 、vue 作者态度趾高气昂,喜欢知乎上面怼天怼地,只要你说一点 vue 的不好,作者就很快现身
4 、vue 作者的很多行为让人一脸问号,比如前段时间去 react 官方下面回复新文档加载速度不如 vue 文档,还让把 cra 换成 vite 等等
murmur
2022 年 9 月 2 日
而且你要思考,你是不是为了组件化而组件化,比如 table-row 、table-cell ,这些是没必要抽象出来的

react 的组件化强迫症很大一部分来源于 jsx 的奇葩写法,如果你不抽离组件,你就会看到 js 和 html 交织飞舞的尴尬场景

说句人话,jsx 连基本的对齐都没法保证,何谈工程化
sweetcola
2022 年 9 月 2 日
首先是下载对比 https://npmtrends.com/react-vs-vue (最新是 React: 16,539,721 次,Vue: 3,439,663 次)

> dangerouslySetInnerHTML

React 官方文档里已有详细解释: https://reactjs.org/docs/dom-elements.html#dangerouslysetinnerhtml
总而言之,直接使用 innerHTML 是比较危险的操作,无论熟悉与否都应该尽量避免。

> 讨厌 JSX

React 完全可以不使用 JSX: https://reactjs.org/docs/react-without-jsx.html
为什么用 React 的人都(可能有一些人没使用)使用 JSX ?那肯定是觉得 JSX 更好。

> JSX 无法排版

与在 .html 文件里写 HTML 一样的排版。如果是函数或 style 写在 JSX 里的问题,完全可以在 return (); 前书写有名函数或 style 对象。
不愿意写 {boolean && </>} 逻辑的话完全可以在 return (); 前定义一个接受 boolean 的组件,比如: <Component display={boolean} />

> 用 React 需要懂 JS

个人觉得只要你从事前端开发,会 JS 是必须具备的技能,不能以任何方式回避。

> className

https://reactjs.org/docs/dom-elements.html#classname
而且,className 是 Element 的属性之一。可以在控制台里找一个有 class 的元素再在 Console 里输入 $0.className 。
murmur
2022 年 9 月 2 日
@nzbin 你要做出个 vue 你也趾高气昂,咋了 vue 作者承认自己牛逼都不让,营销只是手段,产品好就行,允许 react 自带洋人 buff 不允许 vue 搞下场营销是吧
shintendo
2022 年 9 月 2 日
楼上很多的争论是鸡同鸭讲,看似在争哪个“简单”,其实一个说的是 simple 一个说的是 easy 。
sadfQED2
2022 年 9 月 2 日
国外不知道,但是国内 vue 大小公司用得都不一定比 react 少啊
shintendo
2022 年 9 月 2 日
“React 完全可以不使用 JSX”这种话还是算了,跟“Vue 完全可以不使用模板”一样,都是正确而没有意义的口水。TS 也可以当 JS 写,C++也可以当 C 写
momowei
2022 年 9 月 2 日
很多人真的那么喜欢 react 么,你们喜欢的可能只是 antd,我敢打赌,没有阿里的 antd,国内 b 端用 react 的可以腰斩。
towry
2022 年 9 月 2 日
@murmur 你的思路很奇特
lB2cGz9OQ1agw7XK
2022 年 9 月 2 日
尤雨溪懂条毛 vue
Hanser002
2022 年 9 月 2 日
@momowei vue 的组件库维护的很糟糕 很多人都是从 element -> antdv 。react 除了 antd 还有 suite mui 这种,生态比 vue 要好很多
jun4rui
2022 年 9 月 2 日
@momowei 没有 element-ui 呢的 Vue 呢?
newSimpleLife
2022 年 9 月 2 日
生态 有非常大的区别
churchill
2022 年 9 月 2 日
https://github.com/facebook/create-react-app/issues/6880
窥一斑而知全豹,一条具体的 lint rule 都反复详细的解释
我想 React 社区是真诚的,他们喜欢讨论技术、工程,他们不会像某些技术 /框架的拥趸们喜欢打这种无意义的口水仗
guzzhao
2022 年 9 月 2 日
初步学了学 vue 和 react,都说 react 的 api 少,但是感觉比 vue 并不少啊😂
murmur
2022 年 9 月 2 日
@jun4rui 还有 uniapp 做小程序啊
shakukansp
2022 年 9 月 2 日
因为作者原因去 diss 一个开源库是脑瘫行为
4196
2022 年 9 月 2 日
vuetify quasar ,国外很多好用的 vue UI 库,非得盯着国内的 element-ui iview 吗?
murmur
2022 年 9 月 2 日
@churchill useEffect ,useRef ,这种在 hooks 里这么常见的 api ,却需要一群大牛在 github 上长篇大论的讨论

是不是侧面说明了 react hooks 的难用之处?
3dwelcome
2022 年 9 月 2 日
VUE 更好用,更好维护。

但是很多时候,编程不是为了让码农写代码更舒服,而是要解决一切奇葩复杂的问题。光从自由度来说,基于 JS 的 React 要好那么一点。

同时 VUE 是一个自有框架,有自己的扩展语法,不是每一个大厂,都希望无脑基于别人框架开发程序的。大厂更倾向于开发自己的框架,修修补补,毕竟也是 KPI 。

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

https://v2ex.ih06.com/t/877148

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

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

© 2021 V2EX