Тёмный
Frontend Skills
Frontend Skills
Frontend Skills
Подписаться
Всем привет!

Меня зовут Александр Белькевич. На этом канале буду стараться размещать видео, которые тесно связаны с Frontend-разработкой.

Вы всегда можете со мной связаться в Instagram, VK или Telegram. Ссылки ниже
Курс по Pinia #2 - State
23:05
Год назад
Комментарии
@Anatoli-bq1pe
@Anatoli-bq1pe День назад
Благодарю!
@user-tg4qz9re3f
@user-tg4qz9re3f 3 дня назад
Все круто, мог бы ты еще осветить тему подписок на экшены?
@eg0ist_665
@eg0ist_665 3 дня назад
Подключение к БД можно вынести в отдельный слой database создав функцию которая возращает инстанс подключения и юзать его везде один раз чем каждый раз вытягивать getFirestore
@eg0ist_665
@eg0ist_665 7 дней назад
видео крутые но есть моменты - вместо того чтобы постоянно регистрировать компоненты вот так, что документацией даже vue не сильно рекомендуется, есть специальные плагины для Vite которые делают автоимпорты. И моменты с декомпозицией логики - компонент должен быть максимально представительным и на основе данных что то делать он не должен внутри себя реализовывать каккую то логику (бизнес модели, валидации и тд) для этого есть composables или просто какие то сервисы. Представление не должно знать о деталях. И последний момент - хорошей практикой является использование PascalCase для компонентов чтобы отличать их от веб-компонентов или просто html потому что код сливается и становится более трудночитаемый)
@sayomortal
@sayomortal 7 дней назад
Первое нормальное пособие по вуе для начинающих, огромное спасибо за труд!
@nikitau.4253
@nikitau.4253 9 дней назад
Спасибо за материал!.
@truanthh
@truanthh 16 дней назад
привет, большое спасибо за подробные уроки!! 😍 :) такой вопрос - сейчас все так же работает, что мы два раза в двух дочерних компонентах вызываем события, чтобы достучаться до родителя? или что-то уже поменялось? и еще - можно ли как то сюда вкрутить defineModel (vue 3.4+) , чтобы сделать код проще?
@Anatoli-bq1pe
@Anatoli-bq1pe 21 день назад
Благодарю за классный видос!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Благодарю за отличный контент!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Благодарю!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Классный контент!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Благодарю! Класс!!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Большое спасибо!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Благодарю за классный контент!
@Anatoli-bq1pe
@Anatoli-bq1pe 22 дня назад
Благодарю!
@user-hn2vt6fe3q
@user-hn2vt6fe3q 23 дня назад
Спасибо!
@user-zu3ld8is4y
@user-zu3ld8is4y 23 дня назад
спасибо
@ig4763
@ig4763 29 дней назад
a mojet sozdatj funkziyu tipa: const fetchAndSetInterviews = async (isFilter: boolean = false): Promise<void> => { isLoading.value = true const listInterview: Array<IInterview> = await getAllInterviews(isFilter) interviews.value = listInterview isLoading.value = false }. i primenatj eye v submitFilter, clearFilter I v onMounted?
@DenisBozhko-x7c
@DenisBozhko-x7c 29 дней назад
Все четко и по существу. Благодарочка
@arbuzer3959
@arbuzer3959 Месяц назад
спасибо за контент!
@user-zu3ld8is4y
@user-zu3ld8is4y Месяц назад
Thanks
@VasileChifeac
@VasileChifeac Месяц назад
Спасибо, ваши уроки очень ясны!
@user-ko1lu8il6h
@user-ko1lu8il6h Месяц назад
SyntaxError: The requested module '/node_modules/.vite/deps/firebase_auth.js?v=02480f37' does not provide an export named 'createWithEmailAndPassword'
@ESTechnonet
@ESTechnonet Месяц назад
Composition api смотрится чужеродно. Старый синтаксис более читаемый. В чем бенефит нового синтаксиса?
@frontend-skills
@frontend-skills Месяц назад
Это путь к функциональным компонентам :) на самом деле это просто привычка. Вангую, что в какой-нибудь Vue4 уберут вообще Options API. Мне тоже было очень сложно привыкнуть, но теперь старый синтаксис кажется неудобным)
@ESTechnonet
@ESTechnonet Месяц назад
@@frontend-skills в самом Vue все ок с этим. А вот а Pinia читаемость стала хуже как-будто.
@frontend-skills
@frontend-skills Месяц назад
Да тоже дело привычки)
@mustdie2723
@mustdie2723 Месяц назад
Странно, почему то когда я смотрел урок, я не мог напрямую из state что то вытащить. Как только написал геттеры, сразу все получилось. Копировал причем весь код с гита, все равно та же проблема была.
@truanthh
@truanthh Месяц назад
"adult: false" 😢
@tonykeepfrozen
@tonykeepfrozen Месяц назад
Не знаю сколько раз я уже говорил Вам спасибо) На Вас буквально держится все мое обучение) За этот урок хочется сказать особенное спасибо, единственный материал, который доступно и без воды объясняет работу с валидацией! Огромное, огрооомное спасибо!)
@evgeniiak7458
@evgeniiak7458 Месяц назад
Шикарный урок! Очень помог. Спасибо большое!
@timbrk
@timbrk Месяц назад
Спасибо за курс! Добавлю для будущих поколений: 1) статус loading можно оформить штатной возможностью DataTable: <app-data-table :value="interviews" :loading="isLoading"> 2) сообщение об отсутствии данных для вывода в таблице тоже органичнее смотрится, если воспользоваться специальным слотом DataTable, просто вставить такой template: <template #empty><div class="text-center"><em> Интервью пока нет </em></div></template>
@user-qf2gg4uq4x
@user-qf2gg4uq4x Месяц назад
Все предельно понятно, спасибо за Ваш труд
@xenia1551
@xenia1551 2 месяца назад
Отличный контент!! Прям СУПЕР! Сделай еще плииз компонент SELECT ...
@thesweetlife843
@thesweetlife843 2 месяца назад
Подскажи по опыту, такой проект тянет на уровень ждуна или чуть повыше ?
@slava3553
@slava3553 2 месяца назад
Спасибо за контент!
@tryit7233
@tryit7233 2 месяца назад
очень классное видео, все получилось! спасибо большое)
@user-gr3ky3zu4i
@user-gr3ky3zu4i 2 месяца назад
еще можно на к app-input-text добавить :disabled="isLoading" тогда при отправке данных будут блокироваться поля ввода)
@Anatoli-bq1pe
@Anatoli-bq1pe 2 месяца назад
Огромная благодарность за отличный контент!
@user-fv5jb6nb9r
@user-fv5jb6nb9r 2 месяца назад
👍
@yashuuo
@yashuuo 2 месяца назад
удаление чет не работает у меня
@frontend-skills
@frontend-skills 2 месяца назад
Какая ошибка?
@NillosT
@NillosT 2 месяца назад
Блин.. Классный курс, но FireBase в реальности не используется в компаниях, у них свой бэк, а у тебя всё завязано на Firebase. Начинающему разработчику очень сложно будет использовать полноценно твой курс... Может сделать дополнительное видео, где можно будет изменить этот проект, чтобы он был максимально приближен к реальности?
@frontend-skills
@frontend-skills 2 месяца назад
Firebase отлично годится для своих проектов, а также для проектов, которые хочется положить в портфолио. У меня ребята на курсе многие новички. Используют Firebase в более сложных кейсах) зато могут работодателям показать: 1. как умеют работать с базами данных и предоставляют, что это такое 2. Как работают с асинхронным кодом Так что именно этот проект пусть останется на Firebase. В будущем другой проект сделаем. А так от реального проекта отличие только тем, что у Firebase свои методы, а на работе чаще всего используется RestAPI или GraphQL. Но работа с ассинхронным кодом никуда не девается, это важнее всего :)
@Legolazik
@Legolazik 2 месяца назад
Спасибо! Супер мини курс)
@davitvardanyan27
@davitvardanyan27 2 месяца назад
💪
@davitvardanyan27
@davitvardanyan27 2 месяца назад
Благодарю, вас
@Vladislav1449
@Vladislav1449 2 месяца назад
Спасибо, кайфовый был курс
@xman5911
@xman5911 2 месяца назад
Увидел багу. Например при регистрации произошла ошибка(отобразилась в UI)и потом переключится на страницу входа, то ошибка остается. Решил просто, в роутер-линк компонентов SingIn и SingUp добавил: @click="authStore.error = null"
@user-xj3yx4fy5x
@user-xj3yx4fy5x 2 месяца назад
Спасибо большое. Думал по началу использовать Vuex, но были проблемы с интеграцией TypeScript. А Pinia - то, что надо! Работает все из коробки.
@frontend-skills
@frontend-skills 2 месяца назад
Пожалуйста :) ну сейчас использовать Vuex - не канон в любом случае)) по крайней мере на новых проектах в связке с Vue3 :)
@WalksGirl
@WalksGirl 2 месяца назад
6:56 как по мне так лучше сделать фильтр без кнопок применить и сбросить грамоздко, что б были только чекбоксы Все | Оффер | Отказ, по умолчанию Все, в значение чекбоксов добавить Refusal, Offer и при выборе чекбокса получать его значение и передавать в функцию getAllInterviews если пустота то загружаем все, если не пустота фильтруем
@kostyafrompiter
@kostyafrompiter 2 месяца назад
Обязательно пройду курс и можно Джуном на вью
@defender6550
@defender6550 3 месяца назад
👍👍👍👍👍👍👍👍👍👍👍👍
@siablo009
@siablo009 3 месяца назад
Золотой человек, только благодаря тебе я начал понимать документацию)
@frontend-skills
@frontend-skills 3 месяца назад
Неожиданно и приятно))))
@evgeniys.4325
@evgeniys.4325 3 месяца назад
Спасибо)