Skip to content

从 React 转到 Vue 3:一个月后的真实感受

发布时间:2024-03-08 08:00
最后编辑:2024-03-08 08:00
全文大约 0 字(读完需 1 分钟)

背景是这样:在上家公司写了三年 React,跳槽后新公司技术栈是 Vue 3 + TypeScript。

一开始有点抗拒,毕竟 React 用熟了,换框架等于重新学习。一个月后,心态变了。

上手成本

Vue 3 的学习曲线比预期平缓。

如果你熟悉现代 JavaScript,组合式 API 的思路和 React Hooks 其实很像:

vue
<script setup lang="ts">
import { ref, computed, onMounted } from 'vue'

const count = ref(0)
const doubled = computed(() => count.value * 2)

onMounted(() => {
  console.log('mounted')
})
</script>

最不习惯的反而是模板语法。写惯了 JSX 的自由度,再回来写 v-ifv-for 有点束缚感。

响应式系统

Vue 的响应式是真正的"自动"。

React 里你得小心翼翼处理依赖数组,防止 useEffect 死循环。Vue 里基本不用想这些,改了数据视图就会更新。

.value 这个东西确实烦人。ref 需要 .value 访问,reactive 不需要,容易混淆。

开发体验

Vue 3 + Vite 的开发体验极好。

热更新速度飞快,比 webpack 时代不知道强多少。TypeScript 支持也很完善,Volar 插件配合 IDE 补全舒服。

生态差异

这个 React 确实更强。

找个状态管理方案,React 有 Redux、Zustand、Jotai、Recoil 一大堆。Vue 基本就是 Pinia。

但反过来想,选择少也意味着不用纠结。

总结

React 和 Vue 3 都是好工具,争论谁更好没意义。

对我来说:

  • React 的心智模型更函数式,适合复杂状态管理
  • Vue 3 的开发体验更顺滑,适合快速开发

现在两个都能写,反而觉得视野开阔了。

Built with ❤️ using VitePress v2 & Vue & Vite