为什么vue3的api这么多?

Vue3 的问题:

  1. 没有果断地将选项式标注为已废弃
  2. 没有固定一种明确且功能完善的写法(template sfc 缺少模板引用变量,无法替代 jsx 的可编程能力,目前常见写法有:选项式,组合式,jsx render sfc,defineComponent jsx,defineComponent 双重返回函数 jsx 五种)
  3. 官方没有为一种标准的写法打样(ng service,react ctx+reducer+hooks 都有官方文档打样)

题主一听,就是之前写 react,现在转来 Vue,他没有 Vue2 -> Vue3 的进阶

甚至分不清哪些 api 是 选项式,哪些是组合式

他看到的 Vue3 实话说,就是难用,就是无从下手

或者直接说实话吧,就我个人看来:

Vue2(包括选项式) >>> React class

Vue3 拉上选项式拖油瓶 <<< React hooks

// Vue jsx
const CompoVue = defineComponent(()=>{
   const value = ref("")
   return ()=><input value={value.value} onInput={e=> value.value = e.target.value}/>
})

// React
function CompoReact(){
  const [value,setValue] = useState("")
  return <input value={value} onChange={e=>setValue(e.target.value)}/>
}

本身 Vue 和 React 本质上来看就是响应式实现风格不同(不可变和可变)

但是为啥能搞出那么多 api?全都是向下兼容闹的啊?!

想用 Vue2,不能直接去用 Vue2 啊?为啥要在新框架给老用户留个保留地?

实际上 Vue3 的 api 应该只有这些(再加上传送门异步组件和几个新语法):

还有就是,为啥有生命周期啊?

生命周期是我最不能理解的,新框架谁有生命周期(除了 ng 事件驱动不得用以外),别人 solid 官网白纸黑字都说了不需要生命周期,为了简单功能快速实现不情不愿给了个 onMount

真就是为了老用户,连新用户也要埋进一些奇怪的东西进来么?

实话实说,我非常喜欢用 Vue,也很喜欢 Vue3

但是,仅限于我一个人写的 Vue3,很不喜欢和其他人一起写 Vue3 代码

要是别人很清醒,知道自己只有能力在 Vue3 中写 Vue2 代码还好,但是但凡开发者有点奇怪的想法,那这个代码就直接报警灾难了

就我的感受:

60% 开发者升级 Vue3 只是为了性能提升和数组响应式

80% 开发者在 Vue3 中写 Vue2 代码

99% 开发者不会在 Vue3 中用上真正的 ts

面试人的时候,10个宣称 Vue3 的面试者,有 9 个不知道 ts 函数重载,没人纳闷儿他们怎么声明的组件事件么?

这种社区的撕裂和混乱都已经摆在明面上了

放弃选项式吧,用选项式为啥不去 Vue2 用,就为了 3 的名头么?

还是为了让培训班老师有自信说出那句话:

你会 Vue2 就自动会 Vue3 了,学点 ts 基础包装三年面试一点问题都没有!

Vue 的优秀不妨碍 Vue 社区的烂,也不妨碍我不赞成 Vue 这种当妈式的溺爱社区的风格


解决一下题主的困惑吧

Vue3 本质和 React 功能性上没有区别,你可以先从 Vue jsx 写法入手,避开所有阐述选项式 api 的雷,相信不出两小时,掌握 Vue3 没有任何问题

如果你能区分并且想象出,数据可变和不可变下的写法差异(有一定 mobx 功底)

那你半小时学会 Vue3 手到擒来

Vue3 的 api 并不多,或者说,他的核心 api 甚至比 React 还少,毕竟没有 useTransition,useDefferedValue,useForm,use client, use server 等等 api

仅供参考!!!

  • 31
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋の本名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值