苦于 vue3 生态太差,去看了看 react 文档

2021-03-08 15:44:43 +08:00
 ysoseriousC

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

20130 次点击
所在节点    Vue.js
111 条回复
Shook
2021-03-08 21:05:29 +08:00
compositon api 和 hooks 体验差不多,也用 vue3 上手写过一些公司项目了,觉得还不错的。
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 的类型,没什么可匪夷所思的吧
ijrou
2021-03-08 21:24:51 +08:00
目测难道 vue 要被喷死??
miloooz
2021-03-08 21:29:02 +08:00
@Oktfolio 可以试试 defineComponent + tsx 写起来和 react 差不了太多。java 也开始用 vue3?
miloooz
2021-03-08 21:31:42 +08:00
@ijrou 看到 vue 被这么吐槽 , 不至于, 真不至于。
aaronlam
2021-03-08 22:11:57 +08:00
@newbieRenew 哈哈哈哈哈,感觉最后一句真的太真实。刚开始从 .NET 后端转前端,看 JSX 真的感觉像屎,现在感觉真香。。
JerryCha
2021-03-08 22:15:18 +08:00
2021 年 3 月 8 日,国际妇女节,前端还在为 Vue 还是 React 吵架。
真正合格的前端工程师应该 VRA 全干。
murmur
2021-03-08 22:18:03 +08:00
@rodrick vue 什么指令需要记忆,那些指令都是最基本的英文单词,不学就住了,但凡用过一个前端模板都不会读这些东西陌生
littlewing
2021-03-08 22:19:02 +08:00
@wisunny 有这时间还不如先把 flash 给我废掉,哦,不对,flash 特供版是国产的
ericls
2021-03-08 22:20:24 +08:00
react 就是 JavaScript 不需要学习. Angular 这些 是有自己的语言的 一个语言需要一套完整的工具链 做框架的心思去做是不够的
murmur
2021-03-08 22:20:25 +08:00
@Jirajine react 那堆框架把样式、xml 、js 全揉一起了,已经背叛了前端,还有什么资格说优雅
anguiao
2021-03-08 22:22:30 +08:00
@Oktfolio 因为 TS 给 React 开了小灶,自然支持得好。你说 React 支持 TS,不如说 TS 支持 React 。
murmur
2021-03-08 22:23:51 +08:00
作为一个程序员,很多人在选择框架的时候,倾向于选择难度大、容易装 3 的,这样可以保住自己的地位,要不随随便便找个小白培训两天就把你顶替多没面子

前端的顶端,包括企业级电子表格、企业级图表、word 级富文本编辑器、游戏引擎等,都不依赖任何框架,纯 JS,当你对性能足够极致的时候,框架只会束缚你的思路

大家都是站在巨人肩膀上造轮子玩,谁比谁高端啊

很多人说 react 不用学习,对,因为你学过 es6,这是最恶心的那堆,而 vue 都不需要 es6 基础,会点 js,写过 jquery 都可以上
Jirajine
2021-03-08 22:33:18 +08:00
@murmur f(state)=ui,hooks 自由组合,当然优雅。写起来没 Vue/Svelte 工整倒是真的。
Jirajine
2021-03-08 22:36:34 +08:00
@murmur 另外真不知道 es6 怎么还成缺点了,js 历史包袱这么重,lambda 等现代编程语言的优秀特性怎么就恶心了。
ericls
2021-03-08 22:42:48 +08:00
@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 就能用的。
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 是人的颜面、衣服、化妆品,任何一个前端都要熟练掌握,否则做出来的东西就是俗、丑,也许大公司有专门的切图工程师?
weimo383
2021-03-08 22:59:55 +08:00
@murmur 老哥 flutter android 样式和界面 dsl 都耦合在一起了,现在讲究一个高内聚的组件化,而非样式逻辑分离了
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 还是很累人)
meshell
2021-03-08 23:13:33 +08:00
@easylee 没有必要吧。我一直都是 angluar 我觉体验很好呀

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

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

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

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

© 2021 V2EX