Назад к вопросам
Middle
3
Что такое Composable? Можешь привести пример хорошего composable?
Компании, где спрашивали
Хайерлаб
Ответ от нейросети
sobes.tech AI
Composable — это функция в Vue 3 (или аналогичных фреймворках), которая инкапсулирует и переиспользует логику состояния и поведения компонентов. Composable позволяет разделять код по функциональным блокам, улучшая читаемость и поддержку.
Пример хорошего composable — функция для работы с формой, которая управляет состоянием полей, валидацией и отправкой:
import { ref } from 'vue';
export function useForm(initialValues) {
const values = ref({ ...initialValues });
const errors = ref({});
function validate() {
errors.value = {};
// простая валидация: обязательные поля
for (const key in values.value) {
if (!values.value[key]) {
errors.value[key] = 'Поле обязательно';
}
}
return Object.keys(errors.value).length === 0;
}
function submit() {
if (validate()) {
// логика отправки
console.log('Отправка формы', values.value);
}
}
return { values, errors, submit };
}
Такой composable можно использовать в разных компонентах, переиспользуя логику формы.