Hydration — attaching event listeners to server-rendered HTML.
Process:
1<!-- Hydration mismatch example -->2<template>3 <div>{{ randomNumber }}</div>4</template>56<script setup>7// ❌ Mismatch - random on server vs client8const randomNumber = Math.random()910// ✅ Fixed - use ref11const randomNumber = ref(0)12onMounted(() => {13 randomNumber.value = Math.random()14})15</script>
Common issues: