Vue · Middle · Запитання 23 з 75
Чому composables треба викликати синхронно в <script setup>, а не в колбеку?
onMounted(() => {
const { x } = useMouse(); // problem
});- ✓Правильна відповідь: Vue потрібен активний екземпляр компонента, щоб зареєструвати хуки життєвого циклу й спостерігачі composable
- 2Composables можна викликати лише раз на застосунок
- 3Колбеки виконуються лише на сервері
Пояснення
Всередині колбека немає поточного екземпляра, тому onUnmounted всередині composable не реєструється, і слухачі витікають. <script setup> відновлює екземпляр після await верхнього рівня, тож виклики після нього теж працюють.