описана https://t.me/vuejs_club/627932
Придумал подход, при котором я могу удобно в библиотечном компоненте сделать проброс ошибок до какого-то стандартного обработчика в приложении.
Вот, например, есть в библиотечном компоненте примерно такой код:
const { items, itemsId, loading, update, error } = useListLoading(props.readListApi)
Этот композабл по какой-то своей логике дергать апи, это нам не важно. И может в рефе error оказаться информация об ошибке.
Что я делаю:
watch(error, (newError) => {
if (props.errorHandler) {
props.errorHandler(newError);
} else {
throw newError;
}
});
То есть. Я могу как передать в компонент через пропсы кастомный обработчик ошибки, так и по умолчанию просто кинуть исключение дальше. Благодаря тому, что это происходит в вотчере, сработает вьюшный механизм по прокидыванию ошибок (будут проверяться errorCaptured в родителях, а затем глобальный Vue.config.errorHandler, что мне и нужно)
Насколько это адекватное решение?
у нас есть прекрасные .catch(() => {}) xD
"Не, ну а че оно вот это красным на меня кричит?"
линтер требует кэтч!!!
Сейчас с психикой у людей и так не очень, мне кажется пора реформировать интерфейс программистов на юзерфрендли цвета
Как то подкрутил на проекте аксессабилити тесты. Следующий пр от человека был - все форм элементы были обернуты в лейблы (пустые). Ну а чо, говорит, тесты пофиксил. Такое бы упорство да в нужное русло
аналогичная история с линтером на мутацию пропсов
Ниче ниче, я уже начал тестировать вывод ошибок)
Обсуждают сегодня