Ответ
Vue Composables — это функции, использующие Composition API для инкапсуляции и повторного использования логики с состоянием. Они похожи на миксины, но более гибкие и типобезопасные.
Пример:
// useCounter.js
import { ref } from 'vue';
export function useCounter(initialValue = 0) {
const count = ref(initialValue);
function increment() {
count.value++;
}
return { count, increment };
}
Использование в компоненте:
import { useCounter } from './useCounter';
export default {
setup() {
const { count, increment } = useCounter(10);
return { count, increment };
}
}
Преимущества:
- Лучшая организация кода
- Переиспользование логики между компонентами
- Четкие зависимости (через параметры и возвращаемые значения)
- Автоматическое удаление побочных эффектов при unmount (если использовать onUnmounted)