Frontend / README.md

Vue

Updated 2 min read index source
On this page8
  1. Core
  2. Reactivity
  3. Components
  4. Rendering and internals
  5. Application concerns
  6. Comparison
  7. React to Vue cheat sheet
  8. Cross-references

Vue

Baseline: Vue 3.5 stable, 3.6 in RC (Vapor Mode). See Stack baseline — 2026-2027.

Full Vue coverage to the same depth as React. Written assuming React fluency where the analogue helps, but it does not depend on it.

Core

File Covers
Vue: the mental model what Vue is, the SFC, the mental model
Composition API vs Options API (and Migration) the two APIs and migrating between them
Template syntax and directives v-if/v-for/v-model, modifiers, custom directives
Lifecycle Hooks (Composition + Options Side by Side) mount, update, unmount, side by side with Options API

Reactivity

File Covers
Vue Reactivity Internals — Proxy, track/trigger, Effects Proxy, track/trigger, effects
ref vs reactive vs shallowRef / shallowReactive ref, reactive, shallowRef, and when each
computed vs watch vs watchEffect derived values versus side effects

Components

File Covers
Props, Emits, and v-model the component contract, defineModel
Slots and Scoped Slots composition through markup
provide / inject — Dependency Injection dependency injection, typed injection keys
<Teleport>, <Suspense>, Async Components, Custom Directives <Teleport>, <Suspense>, async components
Composables and VueUse logic reuse, conventions, VueUse

Rendering and internals

File Covers
The Vue compiler and rendering pipeline SFC compilation, patch flags, static hoisting, render functions
Vue versions, Vapor Mode, and what changed recently 3.4/3.5/3.6, Vapor Mode, alien-signals, Vue 2 migration
Vue Performance — v-memo, shallowRef, markRaw, defineAsyncComponent v-memo, shallowRef, markRaw, async components

Application concerns

File Covers
Vue Router routing, guards, lazy routes, data loaders
Pinia (and Where Vuex Still Appears) state management (and where Vuex still appears)
Data fetching in Vue TanStack Query, Pinia Colada, Nuxt’s useAsyncData
Forms and validation v-model depth, VeeValidate, schema validation
Nuxt — SSR, SSG, ISR, Server Routes SSR, SSG, ISR, server routes
TypeScript with Vue typed props, emits, generics, vue-tsc
Vue component libraries Vuetify, PrimeVue, Nuxt UI, Reka UI, headless versus styled
Testing — Vue Test Utils + Vitest Vue Test Utils and Vitest

Comparison

File Covers
Vue versus React the design differences and how to answer “which would you choose”

React to Vue cheat sheet

React Vue 3
useState ref (use it for objects too)
useMemo computed
useEffect watchEffect (auto-track) or watch (explicit)
useRef (DOM) useTemplateRef
useContext provide / inject
children prop default slot <slot />
render prop scoped slot
forwardRef template ref + defineExpose
fragments <template>
React.lazy + <Suspense> defineAsyncComponent + <Suspense>
createPortal <Teleport>
Redux / Zustand Pinia
custom hooks composables
React Router Vue Router (official)
Next.js Nuxt (official)
React Compiler not needed — reactivity is fine-grained already
controlled inputs v-model

The genuinely new ideas coming from React: reactivity is automatic via Proxy rather than re-run-and-diff, you mutate state directly, there are no dependency arrays, slots are the composition primitive, and the SFC keeps template, logic and scoped styles in one file.

Cross-references

Contents 24