frontend / README.md

Vue

2 min read index source

Vue

Baseline: Vue 3.5 stable, 3.6 in RC (Vapor Mode). See ../../STACK_BASELINE.md.

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

Core

File Covers
01_vue_overview.md what Vue is, the SFC, the mental model
05_composition_vs_options.md the two APIs and migrating between them
18_template_syntax_and_directives.md v-if/v-for/v-model, modifiers, custom directives
06_lifecycle_hooks.md mount, update, unmount, side by side with Options API

Reactivity

File Covers
02_reactivity_internals.md Proxy, track/trigger, effects
03_ref_vs_reactive.md ref, reactive, shallowRef, and when each
04_computed_watch_watcheffect.md derived values versus side effects

Components

File Covers
07_props_emits_vmodel.md the component contract, defineModel
08_slots_and_scoped_slots.md composition through markup
09_provide_inject.md dependency injection, typed injection keys
12_advanced_features.md <Teleport>, <Suspense>, async components
16_composables.md logic reuse, conventions, VueUse

Rendering and internals

File Covers
19_compiler_and_rendering.md SFC compilation, patch flags, static hoisting, render functions
20_versions_and_vapor_mode.md 3.4/3.5/3.6, Vapor Mode, alien-signals, Vue 2 migration
13_performance.md v-memo, shallowRef, markRaw, async components

Application concerns

File Covers
15_vue_router.md routing, guards, lazy routes, data loaders
10_pinia.md state management (and where Vuex still appears)
23_data_fetching.md TanStack Query, Pinia Colada, Nuxt’s useAsyncData
21_forms_and_validation.md v-model depth, VeeValidate, schema validation
11_nuxt.md SSR, SSG, ISR, server routes
17_typescript_with_vue.md typed props, emits, generics, vue-tsc
22_component_libraries.md Vuetify, PrimeVue, Nuxt UI, Reka UI, headless versus styled
14_testing.md Vue Test Utils and Vitest

Comparison

File Covers
24_vue_vs_react.md 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