[ВАЖНО - Читай описание] Почему вы просто обязаны использовать VUEX в своем приложении!

Поделиться
HTML-код
  • Опубликовано: 27 янв 2020
  • --------------------------------------------------------------------------------------------------------------------------------------------------------
    ВАЖНО - Видео на этом канале 3х летней давности и большинство уже НЕАКТУАЛЬНЫЕ в силу изменения синтаксиса, методов и подходов во Vue.js версии 3. Все видео были записаны на Vue.js версии 2. Много чего уже просто НЕ БУДЕТ РАБОТАТЬ или выдаст ошибки.
    КОНКРЕТНО ЭТО ВИДЕО ВООБЩЕ НЕ ИМЕЕТ БОЛЬШЕ СМЫСЛА, ТАК КАК САМ СОЗДАТЕЛЬ VUE.js рекоммендует использовать PINIA вместо VUEX.
    Новый канал на актуальном стеке Vue.js v3, Pinia, Vue router@next, Ionic (мобильные приложения), FireBase (база данных, аутентификация и тд) - / @intothecoding
    НО! Новый канал ведется на АНГЛИЙСКОМ ЯЗЫКЕ - так что у вас есть уникальная возможность научиться кодить и подтянуть язык - так как Английский нужен всегда!
    Жду вас на новом канале!
    --------------------------------------------------------------------------------------------------------------------------------------------------------
    В этом видео я расскажу почему вы просто обязаны научиться пользоваться VUEX для разработки на Vue.js. Поверьте, это очень просто и очень полезно!
    Ссылка на репозиторий с кодом из урока: github.com/antonboltnev/vuex-app
    Приятного просмотра!

Комментарии • 104

  • @daniilthegunner843
    @daniilthegunner843 4 года назад +29

    Спасибо! очень годно. Гораздо легче понимать ,когда автор приводит пример сначала без какой-то технологии, а затем с ней. Больше уроков требуем!))

  • @XanjaevRodmam
    @XanjaevRodmam 4 года назад +12

    Просто вишенка! Спасибо, за-ме-ча-те-льно

  • @12423ism
    @12423ism 3 года назад +4

    Лучше описание (и обоснование) работы с Vuex, которое я встречал, включая англоязычные источники. Огромное спасибо автору.

  • @user-bc6ig7vg3w
    @user-bc6ig7vg3w Год назад

    спасибо огромное! начал изучать вью столкнулся с проблемой проброса событий, наткнулся на это видео и всё - картинка сложилась идеально!

  • @rusagutin3466
    @rusagutin3466 3 года назад +4

    Самое четкое объяснение на ютубе про Vuex! Люблю когда всё приводят на сравнении и с максимальным "разжевыванием", простыми словами. СПАСИБО!

  • @Fenrir-Wolf
    @Fenrir-Wolf 4 года назад +13

    наконец то дошло зачем надо vuex, отлично объяснили, большое спасибо

  • @JaneDoe-od4ep
    @JaneDoe-od4ep 4 года назад +12

    Присоединюсь к коментам ниже: до меня наконец-то дошло) Просто, понятно и без воды. Спасибо)

  • @TheBorninmotion
    @TheBorninmotion 4 года назад +3

    Отличные уроки ! Спасибо вам ! Больше vue !

  • @jhongolt6629
    @jhongolt6629 3 года назад +2

    Это топ!
    Вы мою боль утолили.
    Именно по этому вопросу весь день мучаюсь.
    Прям в точку.
    И подача супер.
    Спасибо огромное.

  • @igorkulibaba7287
    @igorkulibaba7287 3 года назад +1

    Считаю что это лучшее видео! Где объясняется Vuex. Спасибо огромное в голове стало светлее

  • @HearonPlay
    @HearonPlay 3 года назад +1

    Спасибо вам за уроки!

  • @user-mf6nb8wg5h
    @user-mf6nb8wg5h 2 года назад

    Спасибо огромное автору за полезную информацию и грамотные уроки ! Объясняете все понятно и доступно.

  • @romkery
    @romkery 2 года назад

    Не понимал, как подключить стор к апп компоненте, но наконец нашел видео, в котором это показано) спасибо.

  • @petrIgorevichK
    @petrIgorevichK 3 года назад

    Лучшее объяснение! Пересматривал несколько раз, все просто и доходчиво)

  • @kalmanbraz7696
    @kalmanbraz7696 3 года назад

    Блин чувак. Твои уроки для самых маленьких. Спасибо, не врубался в Vuex, а тут все в мельчайших подробностях. Подписался.

  • @user-nh1ul3pi4z
    @user-nh1ul3pi4z 2 года назад

    Все просто и доходчиво, спасибо!)

  • @ekaterinashoshina6535
    @ekaterinashoshina6535 3 года назад

    Спасибо! Теперь более понятно

  • @mrzlanx5328
    @mrzlanx5328 8 месяцев назад

    Лучшего объяснения на ютюбе не видел, спасибо

  • @user-lj4zq6ls2o
    @user-lj4zq6ls2o 3 года назад +1

    Спасибо, видео очень помогло!

  • @vegtalk8920
    @vegtalk8920 3 года назад

    Замечательный урок! До этого посмотрел 3 других видео и только здесь кликнуло зачем это нужно. Спасибо!

    • @rapincua
      @rapincua 3 года назад

      посмотрите видео от javascript.ninja по вью 3, там расскажут почему не всегда нужен вьюкс, а иногда и вреден

  • @user-yv3wc1cm8f
    @user-yv3wc1cm8f 3 года назад

    Коротко и по делу. Жирный лайк!

  • @AlexKrut
    @AlexKrut Год назад

    Очень хорошо объясняете. Спасибо! Захотелось пойти и написать что-нибудь с использованием Vuex после просмотра

  • @russellcover5395
    @russellcover5395 Год назад

    Сам преподаватель по вэб разработке, объяснение шикарное👍🏻👍🏻👍🏻

  • @Kot_off
    @Kot_off 3 года назад

    Большое спасибо вам! Сам сейчас сижу изучаю Vue и ваше видео, как раз кстати))
    Есть идея перенести свой сайт с портфолио на Vue.

  • @user-yi5wd4wz5g
    @user-yi5wd4wz5g 3 года назад

    Лучшее объяснение Vuex'a!

  • @muborizDev
    @muborizDev 4 года назад +1

    спасибо дружище.

  • @romandavydov3738
    @romandavydov3738 Год назад

    Thx it was amazing production-like sample!

  • @user-zo6rt3vv9q
    @user-zo6rt3vv9q 2 года назад

    Огромное спасибо, после этого видоса наконец понял для чего нужен Vuex

  • @mintfootman5659
    @mintfootman5659 2 года назад

    Необходимо было использовать Vuex в своей программе, но никак не выходило. Наткнулся на видео и теперь все работает, как надо. Очень благодарен автору.

  • @fomyx
    @fomyx 2 года назад

    Спасибо!

  • @isoqov_jokhonbek4197
    @isoqov_jokhonbek4197 3 года назад

    Это лучшее видео про VUEX Спосибо!

  • @user-hi9vi6ys9r
    @user-hi9vi6ys9r 3 года назад +3

    Вот из-за таких объяснений работы Vuex в общем и Getters и Actions в частности, у новичков в голове каша.
    Getters. При чем здесь реактивность? State сам по себе реактивен. И getters нужны лишь для инкапсуляции (сокрытия) логики выборки данных из state. В компонентах пользуешься только getters и если в будущем структура state меняется, в коде компонентов менять ничего не придется, так как getters будут отдавать данные в том же виде, как раньше.
    Actions и асинхронность. Да это так, но про async/await забыли?
    async f() {
    await store.dispatch('name-getter-1', 'данные')
    await store.dispatch('name-getter-2')
    ...дальше идет код, выполняемый только после последовательного выполнения двух асинхронных getters.
    }
    И если в компонентах использовать только getters, в дальнейшем это позволяет без проблем добавлять сколь угодно сложную логику управления state в эти самые getters (включая асинхронные вызовы других getters) и не заморачиваться о том, какой вызов использовать в компоненте - синхронный или асинхронный. Везде await [getter] и все!

  • @slaincore
    @slaincore 3 года назад

    Годнота!!!💜

  • @vahaggrigoruyan7228
    @vahaggrigoruyan7228 3 года назад +1

    Подписка и лайк с меня тебе коллега , единственный нормальный прогер

    • @rapincua
      @rapincua 3 года назад +1

      посмотрите видео от javascript.ninja по вью 3, там расскажут почему не всегда нужен вьюкс, а иногда и вреден

  • @ilyakaup4809
    @ilyakaup4809 4 года назад

    Лайк однозначно

  • @user-gt8zn3hj1x
    @user-gt8zn3hj1x 3 года назад

    Thanks!

  • @jamesfranco5235
    @jamesfranco5235 4 года назад +6

    На самом деле первый пример сделать без vuex элементарно. Создать отдельный экземпляр. window.Events = new Vue(). Затем можно в любом месте приложения делать Events.$emit(...) и отлавливать Events.$on(...)

    • @eugenegavrilov2618
      @eugenegavrilov2618 3 года назад

      соглашусь, тоже не понял почему было сказано что "это бред" использованеи EventBus

  • @phpfreelancer5458
    @phpfreelancer5458 2 года назад

    отлично

  • @tlegenbayangali
    @tlegenbayangali 3 года назад

    самое простое объяснение с хорошим примером, только когда напутали мутации с действиями немного сбило))) а так лайк!

    • @rapincua
      @rapincua 3 года назад

      посмотрите видео от javascript.ninja по вью 3, там расскажут почему не всегда нужен вьюкс, а иногда и вреден

  • @user-wc8dm1dh6r
    @user-wc8dm1dh6r 3 года назад

    красавчик. жирный +

  • @user-qs8vf5dm3c
    @user-qs8vf5dm3c 4 года назад +2

    Не успеваю за вашей мыслью. Надо еще потренироваться на 2,5 компонентах.

    • @gofrontend2220
      @gofrontend2220  4 года назад

      Александр Шейка повторение - мать учения:) все получится!

  • @evgeniyyar645
    @evgeniyyar645 3 года назад +7

    Для конкретно данного примера используют event bus, и не будет вот этого конструктора лего
    vuex нужен немного для других целей

  • @user-ql4xu5qu2u
    @user-ql4xu5qu2u 3 года назад +2

    По сути, vuex это решение проблемы, которое нам дает компонентный подход.

  • @7razum7
    @7razum7 2 года назад +1

    Тот самый момент когда из 1000 видео, решил написать коментарий в знак благодарности автору за Реально "годный" урок, с действительно понятным объяснением, спасибо!

  • @taran_dm
    @taran_dm 3 года назад

    Отлично! Только вот вопрос: как строиться файл store.js в реальных проектах? Все глобальные переменные выносятся в одну const store или разбиваются на разные константы или на разные файлы? Я имею ввиду когда пишем переменные для разных компонентов(надеюсь не запутал).

    • @igorb6934
      @igorb6934 2 года назад

      Использовать можно разбиенеие на файлы, как экшенов так и гетеров, стейтов и мутаций, а их ложить в отдельные папки т.е. на модули, подключать потом все в store/index.js

  • @peterparker3794
    @peterparker3794 2 года назад

    Сори за вопрос не по теме, а что за IDE у автора? Что-за редактор кода? Тоже хочу установить

  • @gofrontend2220
    @gofrontend2220  10 месяцев назад

    ! ВАЖНО - Читайте описание к видео ! 🔥🔥🔥👆👆👆

  • @donatelodonatelo383
    @donatelodonatelo383 2 года назад

    Что делать еслп мне так же нужно отправить событие наверх, но у меня эти 3 элемента связаны в файле blade. Там же нельзя динамические атрибуты сделать?
    И вообще прочитают ли они мне их?

  • @MeonisRP
    @MeonisRP 2 года назад +1

    Самое сложно во Vue для меня был state manager, когда я освоил Vuex, то прямо почувствовал как разработка ускорилась! Без него никуда

  • @alexandershevchenko7027
    @alexandershevchenko7027 3 года назад +1

    странно, но у меня options: вызыало ошибку - писало, что ожидается ",". Убрал - заработало.

  • @AlexAlex-sh3mz
    @AlexAlex-sh3mz 2 года назад

    Vuex ещё используется для регистрации/авторизации, хранение токенов

  • @wintriplains4532
    @wintriplains4532 4 года назад +3

    Касаемо асинхронности она же тоже по очереди выполняется

  • @user-cl1gh4ho5b
    @user-cl1gh4ho5b 4 года назад +1

    побольше по vue

  • @chupacabramiamor
    @chupacabramiamor 3 года назад

    А почему нельзя просто кинуть в root emit с событием, а потом его же отловить в дочерних компонентах?

  • @user-cl1gh4ho5b
    @user-cl1gh4ho5b 4 года назад +1

    давайте урок с nuxt!

  • @kalmanbraz7696
    @kalmanbraz7696 3 года назад +1

    У меня вопрос по сайту OSTIN. Вроде бы сайты на Вью получаются SPA, тоесть без перезагрузки всей страницы, а в OSTIN все как на обычном, при каждом переходе по ссылкам, страница полностью перезапускается. Это как сделано?

    • @gofrontend2220
      @gofrontend2220  3 года назад

      Spa это просто паттерн создания. Вид сайта если угодно. Спа может быть даже без vue. А vue это фреймворк. Короче каждый кодит так как он хочет и что он хочет

    • @alexperemey6046
      @alexperemey6046 2 года назад

      Через vue-роутеры например.

  • @OneLegoOne
    @OneLegoOne 4 года назад

    Через шину событий можно сделать и будет норм

  • @eng-my-lang
    @eng-my-lang 3 года назад +4

    По-моему вы перепутали понятия синхронности/асинхронности

  • @TheBorninmotion
    @TheBorninmotion 4 года назад

    Скажите а будет полный курс вью в связке с нод ?

  • @user-qo9ug8bj3y
    @user-qo9ug8bj3y 3 года назад +1

    А почему у Ostin переход по страницам сопровождается перезагрузкой страницы, а не переходом через Router? Перезагрузка страниц с SSR фактически теряет преимущества SPA и по сути особо нет преимуществ по сравнению с обычным сайтом на том же jQuery ....

    • @igorb6934
      @igorb6934 2 года назад

      ssr и перезагрузка страниц абсолютно не причем, видимо в данном случае ротутинг не используется

  • @Evgenkr
    @Evgenkr 3 года назад

    Как-то можно фетчить данные асинхроном для пунктов меню во vuex, чтобы потом рисовать меню для vue route и чтобы всё работало?

    • @gofrontend2220
      @gofrontend2220  3 года назад

      Всмысле получать с бекенда пункты? Можно вообще все что угодно. За асинхронность отвечают actions. Все что в них попадает - автоматом становится асинхронным

    • @Evgenkr
      @Evgenkr 3 года назад

      @@gofrontend2220 видимо немного не так вопрос задал, возможно ли в роутер засунуть маршруты из vuex, которые с бекенда прилетают через fetch, ес-но в экшене.

    • @gofrontend2220
      @gofrontend2220  3 года назад

      Евгений Крохин конечно можно. В роутере импортируете стор и массив ссылок и мапите (.map()). И уже не просто руками их прописываете. imporr store from “путь до store.js”. let paths = []. Paths.push( store.state.ссылки.map((item) => item)). const router = new Router({ routes: paths }). Примерно так можно

    • @gofrontend2220
      @gofrontend2220  3 года назад

      Евгений Крохин мог где то ошибиться. Писал с телефона

    • @Evgenkr
      @Evgenkr 3 года назад

      @@gofrontend2220 синтаксис писать не надо :) я знаю язык хорошо. Сейчас экспериментирую с этим. Вопрос в том, как отработает роутер, если точка входа будет по маршруту, который будет асинхроном загружаться. И произойдёт это уже позже, а следовательно отработает маска "*" с редиректом на 404

  • @digitalturkistan1857
    @digitalturkistan1857 Год назад

    v-catalog-item не нужен геттерс только эшены геттерсы нужны там где конечный результат

  • @ondrui
    @ondrui Год назад

    Добрый день, что-то у меня не запускается приложение из вашего репозитория? одни ошибки(((

  • @tetianakulieshova1479
    @tetianakulieshova1479 4 года назад

    Подскажите, пожалуйста, в чем может быть проблема, при клике меняется state только в одном из компонентов
    prnt.sc/s3b03v
    prnt.sc/s3b0ip

    • @gofrontend2220
      @gofrontend2220  4 года назад

      Tanya Hryf похоже что это баг в вью тулзах. Попробуйте в консоль выводить этот стейт. Просто такого быть не может.

    • @tetianakulieshova1479
      @tetianakulieshova1479 4 года назад

      @@gofrontend2220 если я делаю импорт store в каждом компоненте отдельно, может ли быть в этом проблема? по идее же import ссылается на один и тот же объект

    • @gofrontend2220
      @gofrontend2220  4 года назад

      Tanya Hryf а зачем вы так делаете? В main.js достаточно 1 раз проимпортировать и все.

  • @DiabloSat_off
    @DiabloSat_off Год назад

    Уже pinia

  • @leonsadeness
    @leonsadeness Год назад

    Потрясающий пример. Давайте вместо EventBus, будем засирать хранилище состоянием не относящимся к бизнес логике, и производя компонентам сайд эффекты, что, осложняет тестирование, и увеличивает когнитивную нагрузку экспоненциально, просто потому что нам лень пользоваться патерном наблюдателя, когда есть хайповый Vuex, с кейсами которого нам лень знакомиться.

  • @silveringreviews
    @silveringreviews 2 года назад

    У меня почему-то не работает vuex, пока я не посмотрю на нужный компонент в devtools. What the f?

  • @mewforest
    @mewforest 3 года назад +4

    Почему детские элементы?)) Есть слово "дочерние"

  • @kalobyte
    @kalobyte 3 года назад

    у меня только один вопрос - почему это не запилено изначально в этом вуе?
    что не новое поделие на жс, так потом опять какой-то костыль прикрутят
    когда уже дурачки поймут, что в 2021 писать компутеру человеческим языком это идиотизм и сделают что-то нормальное?
    браузеры уже весят как операционные системы 15 летней давности

    • @alexperemey6046
      @alexperemey6046 2 года назад

      Потому что тебе неправильно объяснили, что якобы без vuex нельзя сделать элементарные вещи. А на самом деле в большинстве сайтов использование vuex - признак неумения проектировать компоненты.
      Так что кто на самом деле дурачок - надо еще разобраться.

  • @user-bp3vk3uj8h
    @user-bp3vk3uj8h 3 года назад

    Vuex не включили чтобы на каждом углу говорить наш фреймворк самый крутой потому что он весит 10kb.

  • @sergeydorovsky1738
    @sergeydorovsky1738 3 года назад

    хз зачем это надо, когда есть mobx

    • @rapincua
      @rapincua 3 года назад

      посмотрите видео от javascript.ninja по вью 3, там расскажут почему не всегда нужен вьюкс, а иногда и вреден

  • @mediontamginskii5889
    @mediontamginskii5889 3 года назад

    Еслинт просто за......бет нахрен.... лучше жить без него!!!

  • @POEOneLove
    @POEOneLove Год назад

    Это столько надо написать кода, чтобы по клику дропдавн показывать? Столько слоев абстракции на переменную-флаг... Жесть. А что будет в реальных проектах, там же тысячи строк кода .

  • @studentdar
    @studentdar 3 года назад

    нафиг vuex, mobx топ!

  • @sergeyn5504
    @sergeyn5504 3 года назад

    Такое говно эти хранилища. Акции, мутаторы, гетеры. И всё с кучей строковых параметров. Мутатень жуткая. Не умеют ещё нормальных хранилищ делать.
    Нельзя преподносить это как нечто чудесное. Вы просто вынужденны использовать это уг из-за неимения чего-то лучшего, удобного.

    • @alexperemey6046
      @alexperemey6046 2 года назад

      Если что то неудобно использовать - это первый звоночек, что ты его используешь не по назначению.

  • @Rogobon
    @Rogobon 2 года назад

    отлично