不少初学者接触 Vue3 时,会觉得 setup()、ref()、reactive()、watchEffect()、defineExpose() 这些组合式 API 很“陌生”,甚至有些“麻烦”。
但实际上:
Vue3 并不比 Vue2 更复杂,而是更明确。
Vue2 的 Options API 把逻辑分散在 data、methods、computed、watch 中,写起来简单,但当组件变大时,维护非常混乱。
Vue3 用组合式 API 让所有相关逻辑聚合到一起,比如:
js
复制编辑
const count = ref(0)
const inc = () => count.value++
写在一起,逻辑清晰。尤其在大型项目中,你可以:
- 把功能分组(如网络请求、UI状态、表单逻辑)
- 抽离通用逻辑封装成 useXxx
- 实现更清晰的类型提示与结构规范
只要入手 2~3 个组合函数(ref、computed、watch),你就会发现 Vue3 并不难,它只是更“面向工程化”。
https://www.163.com/dy/article/K3J53OBJ0556EC6N.html
https://www.163.com/dy/article/K3J57DDV0556EC6N.html
https://www.sohu.com/a/910466611_122459568
https://www.sohu.com/a/910465945_122459568
https://www.sohu.com/a/910465860_122459568
https://www.sohu.com/a/910465183_122459568
https://www.sohu.com/a/910464871_122459568
https://www.sohu.com/a/910463928_122459559
https://www.sohu.com/a/910457046_122459559
https://www.sohu.com/a/910457817_122459559
https://www.sohu.com/a/910457842_122459559
https://www.sohu.com/a/910458110_122459559
https://www.sohu.com/a/910464814_122459559
https://www.sohu.com/a/910464038_122459559
https://www.sohu.com/a/910463957_122459559
https://www.sohu.com/a/910463773_122459559
https://www.sohu.com/a/910463928_122459559
https://www.sohu.com/a/910464871_122459568
https://www.sohu.com/a/910452653_122459568
https://www.sohu.com/a/910451737_122459568
https://www.sohu.com/a/910448988_122459568
https://www.sohu.com/a/910448961_122459568
https://blog.csdn.net/robert398/article/details/149105586
https://blog.csdn.net/robert398/article/details/149105629
https://blog.csdn.net/robert398/article/details/149105645
https://blog.csdn.net/robert398/article/details/149105668
https://blog.csdn.net/2503_92661578/article/details/149105379
https://blog.csdn.net/2503_92661578/article/details/149105395
https://blog.csdn.net/2503_92661578/article/details/149105405
https://blog.csdn.net/2503_92661578/article/details/149105417
https://blog.csdn.net/2503_92661578/article/details/149105427
https://blog.csdn.net/gregg4265117/article/details/149105176
https://blog.csdn.net/gregg4265117/article/details/149105010
https://blog.csdn.net/gregg4265117/article/details/149105232
https://blog.csdn.net/gregg4265117/article/details/149105255
https://blog.csdn.net/gregg4265117/article/details/149105276
https://blog.csdn.net/gregg4265117/article/details/149105304
https://blog.csdn.net/gregg4265117/article/details/149105330
https://blog.csdn.net/gregg4265117/article/details/149105356
https://blog.csdn.net/gregg4265117/article/details/149105376
https://blog.csdn.net/gregg4265117/article/details/149105409
https://blog.csdn.net/gregg4265117/article/details/149105464
https://blog.csdn.net/gregg4265117/article/details/149105491