Redux + Redux Toolkit | Продвинутый полный курс | Часть 1

Поділитися
Вставка
  • Опубліковано 27 гру 2024

КОМЕНТАРІ • 126

  • @ИльяКравцов-ц6ф
    @ИльяКравцов-ц6ф 6 місяців тому +7

    Материал изложен очень подробно и доступным языком, качество картинки и звука - топ, благодарю за Ваш труд! 🎉

  • @АлександрСергеевич-и4ы
    @АлександрСергеевич-и4ы 5 місяців тому +5

    Лучшее что могло со мной произойти. Женя, видос - ТОП!

  • @ЕлизаветаРоманова-я4о
    @ЕлизаветаРоманова-я4о 3 місяці тому +1

    я еще не знаю, что там дальше по видео (просмотрела 10 минут), но как вы приятно рассказываете, слушать одно удовольствие)))

  • @symasaiti
    @symasaiti 6 місяців тому +6

    Хотелось бы еще разбор по асинхронным редюсерам. Спасибо за контент. 👍

  • @dimitrusmeleskausas2086
    @dimitrusmeleskausas2086 6 місяців тому +3

    Отличный разбор! Спасибо, Женя!
    Ждем 2 часть про асинхронные запросы

  • @АлексейМорозов-п6г
    @АлексейМорозов-п6г 6 місяців тому +15

    Прикольно, когда открываешь канал, в закрепе видео "хватит учить redix", а на вкладке видео самое свежее это курс по redux)

  • @sh0ny
    @sh0ny 6 місяців тому +3

    На 01:31:43 - Практика работы с селекторами ппц как поплыл , как будто бы по голове дали тяжелым предметом ))
    А вообще подача и материал огонь! Смотрю взахлёб)

    • @theempire392
      @theempire392 2 місяці тому

      Подача настолько огонь, что ты поплыл (я тоже поплыл к слову)

    • @crafters2454
      @crafters2454 2 місяці тому

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

    • @crafters2454
      @crafters2454 2 місяці тому

      @@theempire392 я только что дошел до этого момента, а что вы сделали, тут переход уже готовому коду

  • @denisshepelev1966
    @denisshepelev1966 6 місяців тому +3

    Ну что за аттракцион невиданной щедрости! Спасибо!

  • @peghay4290
    @peghay4290 5 місяців тому

    Евгений, огромное тебе спасибо! Сейчас прохожу стажировку, и нужно было срочным образом выучить Redux))) Для меня пока немного сложновато, но тут наверное только практика поможет. Еще раз спасибо за твой титанический труд, пойду смотреть вторую часть!

  • @stnslvrk
    @stnslvrk Місяць тому

    почему на 1:49:36 идет перерендер юзеров, если мы работаем с counter?

  • @mr.ewgenius3166
    @mr.ewgenius3166 3 місяці тому +2

    2:51:39 На этот моменте ты проверяешь работает ли counter, но тут момент, когда нажимаешь на соседние (increment,decriment) то он не работает и в лог выдаёт ошибку "Uncaught TypeError: Cannot assign to read only property 'counter' of object '#'"
    Ругаясь на state[counterId].counter--;
    Код:.addCase(decrementAction, (state, action) => {
    const { counterId } = action.payload;
    if (!state[counterId]) {
    state[counterId] = initialCounterState;
    }
    state[counterId].counter--;
    });

    • @DariaBrinza-w7u
      @DariaBrinza-w7u 2 місяці тому +1

      решением будет создавать новый initialCounterState для каждого каунтера "state[counterId] = { ...initialCounterState}"

    • @bbnowhat
      @bbnowhat 13 днів тому +1

      я тут покапался чуток, ведь тоже наткнулся на эту проблему, и immer замораживает весь state, чтобы его в action никто не менял (а точнее уже в producers), это позволяет отлавливать ошибки, в общем безопасно, но с этим связана проблема, мы присваиваем ссылку на initial состояние, и в итоге он тоже заморозится, так как будет находится в замороженном state, и поэтому при повторном создании счетчика (когда соседние инкрементируешь/декрементируешь), то и получается ошибка: ты снова присваиваешь initialState и пока все нормально, но потом ты меняешь его значение - ++ или --, поэтому срабатывает ошибка, так как этот оббъект заморожен. И это прекрасно. Потому что без этого все бы работало, НО были бы глюки - так как ты работаешь с исходным initial объектом и меняешь в нем свойства, то соседние counters будут изначально иметь другое значение, а такого делать не нужно. Я бы вообще сделал бы функцию которая возвращает новый initial объект - таким образом можно не копировать, ведь если глубина объекта большая, то и деструктуризация не поможет

  • @maksymmitin4576
    @maksymmitin4576 Місяць тому

    Лучшее объяснение работы Redux. Благодарю!

  • @EvgeniyFrontendDev
    @EvgeniyFrontendDev 6 місяців тому

    Женя, большое спасибо за данное видео. Ты мне открыл глаза как работает иммутабельность.

  • @supernubb
    @supernubb 6 місяців тому

    Евгений, простите меня, очень пушка! ТАк держать, огонь!!!
    Курс "Фундаментальный курс по Redux" является исключительным ресурсом для любого, кто хочет овладеть Redux. Курс хорошо структурирован: начиная с основ, он постепенно переходит к продвинутым концепциям. Преподаватель ясно объясняет материал и приводит практические примеры, делая сложные темы легкими для понимания. Практические проекты помогают закрепить знания и обеспечить их применение в реальных сценариях. Независимо от вашего уровня подготовки, этот курс является бесценным ресурсом для любого разработчика, стремящегося улучшить свои навыки в управлении состоянием с помощью Redux. Настоятельно рекомендую!

    • @ProstoRoman-p3v
      @ProstoRoman-p3v 5 місяців тому

      покури документацию redux и будет тебе щастье

  • @ArtikMan1994
    @ArtikMan1994 6 місяців тому

    спасибо за информацию о правильном использовании селекторов. РТК на первый взгляд прост, но его надо уметь использовать правильно. Хорошо, что в доке РТК об этом упоминается. Надо просто сесть и вникнуть в материал. Увы, не все знают эти подводные камни. Многие на ютубе проходят лишь по верхам. Хорошо что автор рассказал об этих нюансах

  • @-anonim-3008
    @-anonim-3008 3 місяці тому

    Спасибо! Видео очень прикольное, а самое главное информативное. Очень понравлиось, когда объяснял как это работает под капотом и конечно живые примеры)

  • @НікітаКорчемний-г4ч
    @НікітаКорчемний-г4ч 6 місяців тому +1

    Мужик, я реально обожаю тебя и твои видео, это золото просто

  • @Евгений-ю9и7с
    @Евгений-ю9и7с 4 місяці тому

    Великолепное обучающее видео. Большое спасибо, всего наилучшего автору!

  • @igorsenichev3779
    @igorsenichev3779 6 місяців тому +3

    Спасибо. Буду ждать 2ю часть 👍

  • @ProstoRoman-p3v
    @ProstoRoman-p3v 5 місяців тому +1

    я смотрю в курсе все по офф гайду redux) для тех кто не хочет читать и изучать документацию) хотя там оч неплохо все объяснено. Ну и немного своего опыта добавлено.

  • @mrZgot
    @mrZgot 6 місяців тому +3

    Для разделения видео на таймкоды вроде надо добавить в начале "00:00 Начало". Без этого тайм лайн не разделяется на сегменты в плеере

    • @kntbruh
      @kntbruh 6 місяців тому

      ты прав

  • @СемёнЗахаренко-л8з
    @СемёнЗахаренко-л8з 5 місяців тому

    Как же мне тебя не хватало эти полгода)))

  • @abobaaboba3888
    @abobaaboba3888 5 місяців тому

    1:02:14
    как 2 переменные, в которых одна и та же ссылка, могут быть разными? не понял этого момента, буду рад, если кто-то объяснит

    • @ВалерийАбметка
      @ВалерийАбметка 5 місяців тому

      В этом то и дело что ссылка не одна и та же (посмотри дальше он ее выносит в реф).А после каждого изменения перезаписывает эту рефу

    • @abobaaboba3888
      @abobaaboba3888 5 місяців тому

      ​@@ВалерийАбметкаон сказал, что карстейт и ластстейт могли бы быть разными, но иметь одну ссылку

  • @fenpubgm1439
    @fenpubgm1439 5 місяців тому

    Женя, вопрос, есть ли какой то способ хранить синхронизировать состояния из стейт менеджеров из клиента на сервере в next js???

  • @aliicomua1369
    @aliicomua1369 6 місяців тому +1

    Супер. Как раз искал ролик на эту тему. А тут на бонус.

  • @sunlightnsk
    @sunlightnsk 5 місяців тому

    Евгений, огромное спасибо! Материал - "золото". Когда можно ждать выход курса по Saga? Cпасибо

  • @agent_khuseinov
    @agent_khuseinov 6 місяців тому

    блин рил годнота, пасиба за видосы Евгений, как я понимаю после просмотра этих видосов, можно покупать твои курсы уже посвященные архитектуре редакс, правильно понимаю?

    • @paromovevg
      @paromovevg  6 місяців тому

      После второго видео уже можно) скоро ещё третье будет 👌🏻

  • @marylis4895
    @marylis4895 9 днів тому

    Огромное тебе спасибо!!!

  • @user-yami-s
    @user-yami-s Годину тому

    Изучаю react и redux вместе с вами. Посмотрел сейчас 2 часа за 4 реальных часа)). Спасибо за труд! Не все понял в разделе 'работа с селекторами'. Можете кто-нибудь подсказать правильно ли я понял несколько моментов по useSelector?
    1. Все селекторы вызываются каждый раз при обновлении любой части стора
    2. При вызове селектора всегда происходит сравнение того что он возвращает (актуальные данные) с предыдущим состоянием этого же фрагмента данных в сторе по ссылке с помощью ===
    3. Если ссылки разные, то инициируется рендер компонента в котором используется данный селектор
    4. Если изменить ссылку на данные в селекторе (например возвращать новый массив отсортированных юзеров) то старый и новый стейт будут всегда не равны, даже если в реальном сторе этот фрагмент данных не изменился. Это приводит к лишним рендерам компонента.
    5. Если замутировать возвращаемый из селектора стейт: например поменять поле объекта, то рендера не будет т.к. ссылки все еще равны. И это anti-pattern

  • @archee7309
    @archee7309 6 місяців тому

    Евгениально! Спасибо большое за ваш труд

  • @Алексей-ш8э3л
    @Алексей-ш8э3л 2 місяці тому

    Спасибо за ваш труд! Скажите пожалуйста, я только начинаю смотреть видео, я не увидел в таймшортах про toolkit, хотя в заголовке видео он есть... Вы будете про него рассказывать?

    • @paromovevg
      @paromovevg  2 місяці тому

      Да будет, ближе к концу

  • @lokrip4293
    @lokrip4293 4 місяці тому +1

    Евгений, а можно использовать место redux, useContext???

    • @pung5859
      @pung5859 2 місяці тому

      на больших проектах лучше всего использовать редакс нежели контекст

  • @kokoc58
    @kokoc58 6 місяців тому +16

    Вам не кажется, что цикл скачиваний redux тупо замкнулся?)) Учат потому что больше всего скачиваний, а больше всего скачиваний, потому что много учеников?))) Спасибо за видео! Полностью согласен - redux нужно учить в первую очередь, хотя бы для того, чтобы потом больше никогда его не использовать в продакшен))

  • @fkinggaming934
    @fkinggaming934 6 місяців тому

    Вооо, как раз хотел разобраться подробнее как работать редакс 😮

  • @vitalygaraev8093
    @vitalygaraev8093 3 місяці тому

    Спасибо большое! Очень хорошее объяснение.

  • @doomymax577
    @doomymax577 6 місяців тому

    Просто лучший контент по фронту. Есть вообще курс по разработке энтерпрайз на реакте?

  • @Orm-D
    @Orm-D 6 місяців тому

    Евгений будет ли продолжение курса по React c приложением крестики нолики?

  • @СветланаАндреевна-х8р
    @СветланаАндреевна-х8р 6 місяців тому

    Спасибо за такие полезные видео! максимально полезно

  • @tanercoder1915
    @tanercoder1915 6 місяців тому +1

    Вот это да! Респектище!

  • @adamburke4496
    @adamburke4496 6 місяців тому +3

    Вспоминаем ролик про Redux в 2023 с чаем для успокоения 😂

  • @happyhomo4423
    @happyhomo4423 6 місяців тому +1

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

  • @easydiamond648
    @easydiamond648 Місяць тому

    Я очень редко пишу комменты, но реально топовый курс

  • @kirill_prog
    @kirill_prog 6 місяців тому +2

    Евгений, огнище 🔥🔥🔥

  • @РусланПолянский-х7б
    @РусланПолянский-х7б 6 місяців тому +3

    Раздел зачем нужна иммутабельность объяснен очень сложно (скорее всего из-за отсутствия примеров)

  • @Happyendrew
    @Happyendrew 3 місяці тому

    Благодарю за такой подарок!

  • @KaelnsLarien
    @KaelnsLarien 4 місяці тому

    крч как я понял immer c прокси буквально копирует предыдущий стейт (или то, над чем работаем), делает в нём мутабельные изменения и засовывает этот объект как new state (но довольно оптимизированно)?

    • @paromovevg
      @paromovevg  4 місяці тому

      Скорее нет, мы мутирует объект с прокси. Он понимает что мы замариновали и делает эти изменения иммутабельно (создавая новые объекты)

  • @dmitry_st
    @dmitry_st 6 місяців тому +1

    Супер контент, спасибо

  • @aralbaev
    @aralbaev 6 місяців тому +1

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

  • @mr.zxzxzxz3816
    @mr.zxzxzxz3816 5 місяців тому

    как человек который работает реакт разрабом скажу что, курс для меня полезен. спасибо!

  • @vasiapypochkin3241
    @vasiapypochkin3241 4 місяці тому

    Огромное спасибо за видео! ❤

  • @АлМ-ы8ъ
    @АлМ-ы8ъ 14 днів тому

    Плохо что в исходниках к этому видео уже готовый код..

  • @dmitryverteyko4031
    @dmitryverteyko4031 4 місяці тому

    А почему не перейти на recoil в 2024?

  • @Dmitrijserg
    @Dmitrijserg 6 місяців тому

    Женя, ты лучший.

  • @РоманКорхов-ж9е
    @РоманКорхов-ж9е 2 місяці тому

    Настоящий препод.))

  • @alexeyfilippov42
    @alexeyfilippov42 6 місяців тому

    парень чисто красавчик!

  • @NikitaLikosov
    @NikitaLikosov 6 місяців тому

    Ладно понял ты правда крут. Подпишусь всё таки и колокольчик поставлю)

  • @romanmed9035
    @romanmed9035 2 місяці тому

    а второй части нет? не нашел на канале.

    • @paromovevg
      @paromovevg  2 місяці тому

      Вот вторая RTK Query, Thunk, createAsyncThunk | Продвинутый полный курс | Часть 2
      ua-cam.com/video/9NVDzMW6b1k/v-deo.html

    • @romanmed9035
      @romanmed9035 2 місяці тому

      @@paromovevg спасибо. не заметил. ну заодно активности в комментарии добавил.

  • @TheFryOS
    @TheFryOS 6 місяців тому

    в итоге редакс или что-то другое?

  • @tanercoder1915
    @tanercoder1915 4 місяці тому

    вторая часть где будет доступна?

    • @paromovevg
      @paromovevg  4 місяці тому

      Уже на канале

    • @tanercoder1915
      @tanercoder1915 4 місяці тому

      @@paromovevg ты крутой!

    • @tanercoder1915
      @tanercoder1915 4 місяці тому

      @@paromovevg на рутеб или вк не планируешь выкладывыать? смотреть стало не возможно из-за тормозов

  • @АннаКудрявцева-д3х
    @АннаКудрявцева-д3х 3 місяці тому

    Вы спаситель

  • @DariaBrinza-w7u
    @DariaBrinza-w7u 2 місяці тому

    урок отличный, только вопрос возник почему такой умный и типизированный Redux не подхватывает типы Action

  • @КонстантинБратищев-з3п

    круто! да это ж круто (с)

  • @Alex-y3n9s
    @Alex-y3n9s 6 місяців тому +1

    Видос по редакс от Жени - это как поход к стоматологу. Давно знаешь, что надо сходить вылечить зуб (разобраться в редаксе), знаешь, что сам не справишься, тянешь до последнего, терпишь 3 часа, потом пол дня отходишь, но в итоге радуешься, что наконец-то можешь жевать (писать нормальный стор).
    А вообще я после попыток в редакс и доводов Жени в пользу зуштанд, пощупал послений и остался крайне доволен. Но с конъюнктурой рынка нужно считаться. С редаксом мы ещё надолго.
    Жене мешок лайков за бесценный контент. Мало такого.
    Пойду куда-нибудь резюме закину😂

    • @houston_np
      @houston_np 6 місяців тому

      Отличная аналогия!) С редаксом разобрались, теперь бы реально зубы вылечить.

  • @RussianFrontend
    @RussianFrontend 6 місяців тому

    Красава ! Мощно 👍

  • @GrigoriyTv
    @GrigoriyTv 6 місяців тому

    почему так мало просмотров, на этом кладезе знаний

  • @dokers2084
    @dokers2084 6 місяців тому

    Странно что начал аж с подписок а не простой структуры диспатч фэтча

  • @PavelKhapaliuk
    @PavelKhapaliuk 6 місяців тому +1

    Гений!

  • @АлександрКос-р3щ
    @АлександрКос-р3щ 5 місяців тому

    А говорят для FSD редакс-тулкит не очень

    • @paromovevg
      @paromovevg  5 місяців тому

      Как раз в 3 уроке показываю как адаптировать RTK к fsd. Сейчас всё норм с этим

  • @VoldemarKlarkson
    @VoldemarKlarkson 6 місяців тому

    На 54:45 звук шумов каких-то так резко появился и автор буквально застыл, рефлекторно ожидал что скример вылезет xd

  • @araikrasoyan702
    @araikrasoyan702 5 місяців тому

    Спасибо

  • @NickFomenko
    @NickFomenko 6 місяців тому

    Ты лучший !!!! 😢

  • @uchannel-es8zo
    @uchannel-es8zo 6 місяців тому

    Привет
    Спасибо)

  • @Dimidrol14
    @Dimidrol14 2 місяці тому

    1:54:45 не сдержался)))

  • @Севернаяжиза
    @Севернаяжиза Місяць тому

    В самом начале ввёл всё как на видео, useEffect с forceUpdate, ничего не работало. Чат gpt переделал код с useSelector, всё заработало. Почему бы сразу не делать правильный вариант, а то сперва какие то костыли, а useSelector разбирается потом

    • @alexandershcheglov4653
      @alexandershcheglov4653 Місяць тому +1

      Это не костыли, а демонстрация того как работает react-redux "под капотом", и, видимо, вы ввели не все как на видео, потому что все работает с forceUpdate. useSelector это часть react-redux, это отдельная библиотека, а не "правильный вариант".

  • @jiauyjiauy3777
    @jiauyjiauy3777 5 місяців тому

    vite - читается как "veet" (с французского пришло)

    • @dn_blise
      @dn_blise 4 місяці тому

      всем похуй

  • @MAKSIMTSA
    @MAKSIMTSA 6 днів тому

    Нужно переименовать ролик в "Божественный курс по Redux + Redux Toolkit" ))

  • @iq240-1
    @iq240-1 4 місяці тому

    Awesome

  • @SamK-r1r
    @SamK-r1r 6 місяців тому

    Кайф

  • @gatos-su
    @gatos-su 6 місяців тому

    Редукс, да и реакт в 2к24 - это как гонять на дедовской ниве, когда весь мир пересел на электрокар с автопилотом.

    • @dokers2084
      @dokers2084 6 місяців тому

      а что такое электрокар с автопилотом? ангуляй и энвилоуп?

  • @hammaren2678
    @hammaren2678 5 місяців тому

    когда это друже обломов успел стать программистом?

  • @Сергей-г8с6ю
    @Сергей-г8с6ю 6 місяців тому

    Для понимания базовых концепций для только знакомящихся - ua-cam.com/play/PL6DxKON1uLOHsBCJ_vVuvRsW84VnqmPp6.html

  • @maxshdev
    @maxshdev 6 місяців тому +1

    удалите плиз redux со своих компутеров, это вирус

  • @hangor3620
    @hangor3620 6 місяців тому

    ща бы это говнище юзать в 2024, это самый конченый из стейт-менеджеров который только может быть

  • @CozyVibes23
    @CozyVibes23 2 місяці тому +1

    меня хватило на 7 минут , нудно

  • @TheSky5028
    @TheSky5028 6 місяців тому +1

    опоздал на пару лет, это уже дно устаревшее

    • @2Extremum
      @2Extremum 6 місяців тому +1

      Ну да, то еще старье. Всего то 3.5 млн скачиваний в неделю на npm.

    • @workshur
      @workshur 6 місяців тому +1

      @@2Extremum у jquery 10.5 млн. Получается что довод не очень...

    • @2Extremum
      @2Extremum 6 місяців тому +1

      @@workshur Ну сравнивать стейт менеджер с библиотекой мягко говоря не корректно. К тому же jQuery он как РНР, его хоронят уже лет 15 и еще столько же минимум будут хоронить, но по факту на 8 из 10 сайтов он работает.

    • @uvwzyx
      @uvwzyx 6 місяців тому +2

      @@2Extremum а у тиктока несколько десятков млн посещений в день, так что довод бессмысленный. автор комментария утверждает, что говнокодный redux устарел концептуально

    • @2Extremum
      @2Extremum 6 місяців тому

      @@uvwzyx Вообще я писал о Redux Toolkit. А насчет "говнокода", так ругать каждый мастер, только никто пока не выкладывает свой "правильный" стейт менеджер. Я пробовал и Mobx и Zustand и Recoil, даже свой пробовал писать - неблагодарная задача и не факт что в ней можно найти идеальное решение. Потому знать эти инструменты в любом случае нужно. Особенно когда хочешь устроиться на хорошую зарплату.

  • @wzxdart
    @wzxdart 6 місяців тому

    beast

  • @ockgame651
    @ockgame651 5 місяців тому

    Что нужно сделать чтоб видео от этого автора больше никогда не появлялись в рекомендвоанных???