intermediate
Composition API
Организуйте логику компонента через setup, refs, reactive, computed, composables и lifecycle hooks.
Composition API организует логику компонента в `setup()` (или `<script setup>`) с явными импортами: `ref`, `reactive`, `computed`, `watch`, lifecycle hooks и composables для переиспользуемого поведения.
<script setup>
import { ref, computed } from 'vue';
const count = ref(0);
const doubled = computed(() => count.value * 2);
</script>
Composables (`useX`) группируют состояние и эффекты по фиче, а не по типу опции — удобно для крупных компонентов и общей логики между маршрутами.
На интервью: сравнение с Options API для читаемости в больших командах, tree-shaking и вывод типов в `<script setup>`.
Типовые ошибки: деструктуризация reactive (теряется reactivity), забытый `.value` у ref в script, composables со скрытыми side effects без документации lifecycle.
Компромисс: явность и переиспользование против привычки к Options-only кодовым базам.
Чеклист:
- `<script setup>` для эргономики.
- Composables по границе фичи.
- readonly при экспорте состояния из composable.
- Документируйте, кто владеет подписками.