У автора есть талант обучать других людей. Информация подается очень корректно и доступно. Большое спасибо!
@maga_frank Жыл бұрын
Чувак спасибо тебе за такой качественный контент. Не затянуто и не коротко прям идеально. Не буду указать пальцем, но есть некоторые которые пробегают быстро что то рассказывают, не успеваешь за ними и ничего не понятно.. А тут все идеально)
@den_ph3 жыл бұрын
Благодарю вас,Михаил, за понятное и подробное объяснение! Очень нравится манера подачи материала.
@СтройКонсалт Жыл бұрын
Присоединяюсь! Грамотная речь, отсутствие паразитов и дефектов речи, глубокое понимание автором темы и спокойная подача! Большая благодарность!
@ИванВалучев-э5р Жыл бұрын
Одно удовольствие, учится по вашим роликам, большое спасибо!)
@lightinthedark57083 жыл бұрын
Прекрасная речь и очень доходчивое объяснение. Спасибо, Михаил!
@AlEgorova Жыл бұрын
Супер супер, наконец-то у меня в голове встало все вместе ))) Спасибо огромное за такое доходчивое видео!!!
@loner_feed17383 жыл бұрын
Как раз из-за таких добрых людей как ты меня ещё не уволили)
@alextotun2 жыл бұрын
Все четко, ясно, подробно. Разбито на понятные этапы, до этого смотрел первый ролик про тулкит. Спасибо! Всех благ!
@kenanhaciyev3759 Жыл бұрын
это лучший видеоуроки по redux-toolkit и createAsyncThunk
@anazkomult3 жыл бұрын
Отличный урок по Redux Toolkit и createAsyncThunk. Спасибо, Михаил!
@krissssssssssssssssss Жыл бұрын
Михаил, видео действительно получилось полезным! Посмотрела, так как на проекте используется redux toolkit, а я только redux использовала. Особенно отмечу дикцию, вас приятно слушать, четко и по делу рассказываете, видео просто находка
@keymsr2 жыл бұрын
Спасибище! Долго не мог разобраться, а тут всё просто и наглядно оказалось.
@MrOmelnik2 жыл бұрын
Спасибо автору за отличный обучающий материал. Доступно, понятно, без "воды". Удачи Вам.
@Romul30032 жыл бұрын
Спасибо. Разбирал все сам по документации, а с твоей помощью закрепил и все улеглось в голове)
@akovalevv2 жыл бұрын
Одни из лучших видео на ютубе. Спасибо большое. Очень нравится что по мимо отличной подачи, автор пишет все на современных технологиях. Очень много туториалов даже за 2021- 22 года до сих пор используют старый редакс, а не тулкит.
@soln_sce3088 Жыл бұрын
Спасибо огромное! Самый лучший туториал по этой теме из всех, что я видела.
@alexey9404 Жыл бұрын
Спасибо за инициативу во второй части ролика и то что ты его продлил. Очень полезная инфа! Спасибо. Продолжай в том же духе 👍
@ИванИванов-л7ю8 ай бұрын
Михаил огромная благодарность вам за это видео в частности и за весь обучающий контент который вы делаете!
@bobby_jones3 жыл бұрын
Очень благодарен за это видео. Помогло сильно. Не мог сам разобраться в Redux thunk в Redux Toolkit
@olegnesterov99573 жыл бұрын
Огромное спасибо за подробное объяснение работы с разными типами запросов
@Werma20063 жыл бұрын
Спасибо, прочитал быстрый старт официальный для тулкит, ничего не запустилось и очень непонятно, а тут просто офигенно, спасибо
@vladprodan70103 жыл бұрын
Крутое видео! Ты крут! Давай RTK Query
@juniorprogrammer32463 жыл бұрын
Да RTK Query нужен
@anazkomult3 жыл бұрын
Да, было бы чудесно. Михаил, очень просим!)
@mykhailo_shokun2 жыл бұрын
Хотим RTK Query
@Litaka1 Жыл бұрын
отличный урок!! Спасибо, на работе в проекте назрела необходимость в использовании редакса. Я слишком далеко зашла в пропсдрилинге и нужно было это исправлять пока не поздно. Помнила, что начинала разбираться в классическом редаксе и было все понятно, до момента типизации))) но делать-то надо, еще только 9 месяцев опыта и я одна единственная фронт-программист, все делаю сама) немного страшно было, но по первому вашему уроку, я разобралась+помог коммент про типизацию, все РАБОТАЕТ!!!!! Смотрю дальше
@minkostas7232 Жыл бұрын
как это вы так устроились без знаний ?))
@Litaka111 ай бұрын
это не IT компания, основное направление деятельности производство, а мой маленький it отдел - стартап. В чем-то легче(в плане нет дедлайнов), так как стадия разработки только (нет клиентов)@@minkostas7232
@j4st1342 жыл бұрын
спасибо, очень помогло! (сижу джуном 6 месяцев опыта на мидловской позиции, пытаюсь делать задачи в сроки)
@true227 Жыл бұрын
Михаил, спасибо за видео. Прошло два года с момента выхода видео и теперь при записи через объектную нотацию в поле extraReducers, т.е в таком формате [fetchCards.pending]: (state, action) вылезает предупрждение в консоли о том, что The object notation for `createSlice.extraReducers` is deprecated . Корректная запись теперь через билдер extraReducers: (builder) => { builder.addCase(fetchCards.pending, (state) => { state.status = "loading"; }); Только вот в официальной доке указаны оба этих способа и про депришиайтед первого ни слова. Лучи поноса им
@xdayx5311 ай бұрын
да-да
@mikhaildevichensky64072 жыл бұрын
Спасибо ! Приятный голос и четкость мыслей . Лайк и Подписка !
@denisu9286 Жыл бұрын
Спасибо за легкий и понятный рассказ
@KenKeray3 жыл бұрын
Редко встречаю, когда видео лучше мануала. Спасибо!
@stephencurry80783 жыл бұрын
только что зашел в документацию, офигел от жизни, ничего не понял, все таки не дорос пока, и зашел в ютуб с минимальной надеждой что то найти, и вот оно, спасибо. Сейчас глянем что да как
@outlaw4Iife3 жыл бұрын
Спасибо, в качестве благодарности напишу ключевые слова чтоб твой видос быстрее искали. redux redux toolkit react-redux createAsyncThunk
@voidcode2534 Жыл бұрын
Большое спасибо! Люблю ваши видео, приятная и понятная подача
@НиколайХаритонов-й3н3 жыл бұрын
Видео огонь, тема очень хорошо раскрыта!
@EgorkaTubeOne2 жыл бұрын
Очень приятный голос и приятная подача материала!
@ДмитроСіченко2 жыл бұрын
Спасибо , видео было очень полезное , светлая тема, оказалась очень приятная для восприятия, размер шрифта отличный!!!
@evgeniyn15423 жыл бұрын
Спасибо Михаил! Надо будет в выходные посмотреть :)
@AndreyKarlin2 жыл бұрын
САМОЕ ЛУЧШЕЕ НА ЮТУБЕ ПО РЕДАКС ТУЛКИТ! СПАСИБО ОГРОМНОЕ, С МЕНЯ ПОДПИСКА И ЛАЙКИ!
@nursultanyerzhan44322 жыл бұрын
Одним словом супер 😊. Простой, понятный, подробный.
@СергейКузнецов-щ5я Жыл бұрын
Михаил, сильно благодарю. Классный видос, классная подача, классный урок!!!
@user-bt1rh9rt8j3 жыл бұрын
Спасибо!!! Очень ждал это видео после предыдущего про редакс
@НиколайСеливанов-и2в3 жыл бұрын
Большое спасибо! Redux стал не так страшен :-) Отличное видео.
@deriirostyslav2335 Жыл бұрын
да реально всё получается. Спасибо
@ylcsl43782 жыл бұрын
Вот бы я раньше нашёл это видео, спасибо за труд!
@АлександрВащекин-с3й2 жыл бұрын
Михаил, видео супер!!! Прекрасное объяснение
@DmitryDolganov3 жыл бұрын
Михаил, салют! Благодарю!
@mishanep3 жыл бұрын
Обращайтесь :)
@Vlad-jp3co Жыл бұрын
Спасибо за ваши старания, Михаил)
@vova99622 жыл бұрын
Лайк, подписка, все уведомления !
@OleksandrDanylchenko2k3 жыл бұрын
Отлично, как раз на этой неделе понадобилось)
@nivaech3 жыл бұрын
Охренительно полезное видео. Спасибо, очень помогло.
@Markuvines2 жыл бұрын
Спасибо за хорошую подачу информации.
@garikmelqonyan91302 жыл бұрын
Many thanks to you, Michael. Was a great tutorial as the most of your content.
@dimalukashenko48653 жыл бұрын
Очень крутое видео. Чётко, без воды. Продолжай в том же духе.
@sqpine2 жыл бұрын
Спасибо. Очень полезные видео, приятный голос и подача.Подписался😁
@avmru2 жыл бұрын
Спасибо за createAsyncThunk!
@Rostyslav-hv9un2 жыл бұрын
Видео отличное, помогло мне понять принципы работы Toolkit. Но эта белая тема в VSCode)))))
@КириллПетров-ш3н3к3 жыл бұрын
Спасибо! Отлично помогло разобраться.
@sergiopuccini Жыл бұрын
Лайк! Подписка! Очень круто объяснено.
@АнатолийГорбов-о1ь Жыл бұрын
Михаил спасибо, отличное видео!
@MrMikelend3 жыл бұрын
Очень круто! Огромное спасибо!
@armensargsyan8981 Жыл бұрын
14:30 в реальности будет именно так, он поподет в rejected, а дальше уже можно взоимодействовать с state, ошибка же todos.map is not a function... а в коде в initialState есть дефолтное значение? todos: [] ?
@МихаилНиколаев-з9л11 ай бұрын
новый вид записи extraReducers, все остальное как и было: extraReducers: (builder) => { builder .addCase(fetchUsers.pending, (state) => { state.status = "loading"; state.error = null; }) .addCase(fetchUsers.fulfilled, (state, action) => { state.users = action.payload; state.status = "resolved"; state.error = null; }) .addCase(fetchUsers.rejected, (state, action) => {}); }
Шикарный материал!!! Спасибо большое. хотел еще спросить о выносе логики из редюсеров в екстраредьюсеры и соединение нескольких слайсов для совместной реализации какой-то логики! было бы интересно посмотреть
@pitbrest Жыл бұрын
Спасибо за урок.
@ВалерийПерелыгин-ъ3е3 жыл бұрын
Привет, старик!! ) Вкратце словами интернет классика... Нихрена не понятно, но оооочень интересно! ))
@mishanep3 жыл бұрын
Какими судьбами, дружище? :)
@МатвейМанько-ь6ч2 жыл бұрын
Спасибо за туториал!
@escobar9292 ай бұрын
автор просто красава!!!
@warcraft.mp48898 ай бұрын
Вы просто прелесть
@sergeyplotnikov50312 жыл бұрын
Как можно это унифицировать? Не хочется для каждого запроса прописывать столько всего. Большое спасибо за очень доходчивое объяснение!
@mishanep2 жыл бұрын
Как и в обычном redux-thunk, rtk позволяет прокидывать для санков extra-параметр. Вместе с ним можно передать свою абстракцию для работы с crud-операциями, и внутри санка уже работать с ней, передавая нужные значения.
@dev-to-prod3 жыл бұрын
Контент огонь! Лайк, подписка) More React content pls!)
@awenn20153 жыл бұрын
12:28 необязательно что то помещать в массив зависимостей эффекта , можно просто пустой передать и все
@user_8911 Жыл бұрын
Очень люблю Ваши видео. Просьба - уменьшить разрешение экрана. С телефона ничего не видно, что в документации написано.
@pandalove6795 Жыл бұрын
На 39:10 увидел, что у вас в функции addTodo добавляется новый todo с id = времени. Это же неправильно изначально, разве нет? Функция addTodo не является чистой, для добавления подобных id, я бы использовал middleware. Объясню т.к. я не силен в терминах, в теории и т.д., я жесткий практик. Я бы сделал новую функцию addTodo, которая перед вызовом addTodo из reducer как раз генерировала бы id. В общем и целом, да это называется middleware. Т.к. id устанавливается между dispatch и addTodo из reducer. Функции, которые написаны были в ролике, так же являются middleware.
@ОлегФилатов-м6е Жыл бұрын
всё круто, спасибо
@mivalb79793 жыл бұрын
Круто, спасибо!
@MarshallBanananana Жыл бұрын
Лекция информативная и доходчивая - Спасибо! Установить стартовый проект не удалось ни Ярном (отсутствует файл лицензии) ни NPM (401 - нет аутентификации).
Спасибо большое за видео! все очень доступно и понятно, НО можно пожалуйста попросить Вас сделать примерно этот же пример только в классовом компоненте. Решил для себя разобраться, но если честно это стало большой проблемой. Я и другие зрители думаю скажут Вам спасибо за это. P.S. лайк поставил и подписался)
@МаксФамильный-о4п3 жыл бұрын
можно даже не видео отдельное я на codepen или куда еще залить.
@mishanep3 жыл бұрын
Приветствую. Видео точно не будет :) В чем конкретно возникла сложность? Я классовые компоненты использую только для error контейнеров (потому что по-другому нельзя). В остальном всё на функциях, сам Реакт нам это рекомендует. В классах, понятно, не действуют хуки. А подключение к Редаксу происходит через пень колоду, то есть через метод connect из react-redux, который добавляет в пропсы значения из хранилища и конкретные экшны.
@МаксФамильный-о4п3 жыл бұрын
@@mishanep будем пробовать. Спасибо за ответ
@asergeev7073 жыл бұрын
Отличное видео
@prohanya2 жыл бұрын
Большое спасибо за уроки по Редаксу. Очень подробно, с актуальной информацией. Подскажите, есть ли какие-нибудь видео по Entity Adapter?
@mishanep2 жыл бұрын
Для ютуба не записывал. Я разбирал его в своём курсе по редаксу - классная штука.
@vladvoloshenko57012 жыл бұрын
лучший)
@whicencer88193 жыл бұрын
12:17 а можно ли вызывать этот dispatch например, при клике на кнопку, а не при орисовке?
@mishanep3 жыл бұрын
Да, конечно. Пример использования по событию есть несколькими строчками выше. Аналогично можно и на onClick кнопки повесить.
@Анна_Бояршинова3 жыл бұрын
Redux Toolkit. Thanks!
@awenn20153 жыл бұрын
27:19 для таких вещей typescript и нужен что бы не гадать что там функции принимают ))
@maksymkyryliuk4922 жыл бұрын
Михаил, знаю что скорей всего вы наверное не ответите на мой вопрос, видео уже давнее ведь. Но всё же попытаюсь задать его. А можно ли редакс-тулкит использовать совместно с интерсепторами аксиоса? 🤔
@vdvchannel77652 жыл бұрын
толково 👍
@Кашель-о5у2 жыл бұрын
Спасибо!
@a.s.scherba Жыл бұрын
А блок try/catch же выбрасывает ошибку автоматически, для чего там делать явную проверку и выбрасывать вручную?
@maxzavadovych9142 Жыл бұрын
Михаил а есть какая-то разница между тем чтобы передать просто значение completed в пропсы асинхронной функции и тем что используем функцию getState и так находим значение completed?
@andrewsmal51732 жыл бұрын
Круто!!!
@kspshnik Жыл бұрын
Михаил, доброе утро! Спасибо за супервидео. Скажите, а по createEntityAdapter() Вы такого видео случайно не планируете?
@mishanep Жыл бұрын
Приветствую. У меня он разобран на курсе по редаксу (юдеми, степик). На Ютуб пока не планировал. Штука удобная, да.
@enjoynfun2 жыл бұрын
Thank you very mach)))
@maxhaponenko2 жыл бұрын
Скажите, а зачем выбрасывать ошибку чтобы там же ее словить. Почему бы просто в блоке проверки !response.ok не сделать return rejectWithValue(new Error()) ?
@williammutua3 жыл бұрын
Well explained 💯
@itmonster51532 жыл бұрын
18:00 Ошибка и так будет, не понятно зачем еще какой-то метод использовать)
@awenn20153 жыл бұрын
Хотел я такой же хелпер себе сделать 28:15 но в typescript вообще хз какого он типа поэтому пришлось тупо дублировать код(( есть кто знающий ? Какой тип у хелпера ?
@xdayx5311 ай бұрын
спасибо)
@vl_rotche3 жыл бұрын
Браво!!
@GioMikadzegio90006 ай бұрын
спасибо !!!! если есть возможность снять видео про react query? спасибо !
@mishanep6 ай бұрын
У меня на канале есть такое видео
@КостяКипр2 жыл бұрын
Михаил, полностью повторял за вам проект ,но появился нюанс, что в devTools при первом рендеринге App происходит два pending и два fulfilled, дальше все работает как и должно. Я это исправил отключением StrictMode. Посмотрел в вашем репозитории и там StrictMode включен и нет двойных запросов. В чем может быть дело, подскажите?
@mishanep2 жыл бұрын
В разных версиях Реакта?) В 18-й версии двойной ререндер при старте - это норма, ибо стрикт мод компонент это специально делает. В 17-й версии поведение отличалось.