Асинхронная работа с Redux Toolkit и createAsyncThunk

  Рет қаралды 108,976

Михаил Непомнящий

Михаил Непомнящий

Күн бұрын

Пікірлер: 236
@mikhailmikhailovich1037
@mikhailmikhailovich1037 Жыл бұрын
У автора есть талант обучать других людей. Информация подается очень корректно и доступно. Большое спасибо!
@maga_frank
@maga_frank Жыл бұрын
Чувак спасибо тебе за такой качественный контент. Не затянуто и не коротко прям идеально. Не буду указать пальцем, но есть некоторые которые пробегают быстро что то рассказывают, не успеваешь за ними и ничего не понятно.. А тут все идеально)
@den_ph
@den_ph 3 жыл бұрын
Благодарю вас,Михаил, за понятное и подробное объяснение! Очень нравится манера подачи материала.
@СтройКонсалт
@СтройКонсалт Жыл бұрын
Присоединяюсь! Грамотная речь, отсутствие паразитов и дефектов речи, глубокое понимание автором темы и спокойная подача! Большая благодарность!
@ИванВалучев-э5р
@ИванВалучев-э5р Жыл бұрын
Одно удовольствие, учится по вашим роликам, большое спасибо!)
@lightinthedark5708
@lightinthedark5708 3 жыл бұрын
Прекрасная речь и очень доходчивое объяснение. Спасибо, Михаил!
@AlEgorova
@AlEgorova Жыл бұрын
Супер супер, наконец-то у меня в голове встало все вместе ))) Спасибо огромное за такое доходчивое видео!!!
@loner_feed1738
@loner_feed1738 3 жыл бұрын
Как раз из-за таких добрых людей как ты меня ещё не уволили)
@alextotun
@alextotun 2 жыл бұрын
Все четко, ясно, подробно. Разбито на понятные этапы, до этого смотрел первый ролик про тулкит. Спасибо! Всех благ!
@kenanhaciyev3759
@kenanhaciyev3759 Жыл бұрын
это лучший видеоуроки по redux-toolkit и createAsyncThunk
@anazkomult
@anazkomult 3 жыл бұрын
Отличный урок по Redux Toolkit и createAsyncThunk. Спасибо, Михаил!
@krissssssssssssssssss
@krissssssssssssssssss Жыл бұрын
Михаил, видео действительно получилось полезным! Посмотрела, так как на проекте используется redux toolkit, а я только redux использовала. Особенно отмечу дикцию, вас приятно слушать, четко и по делу рассказываете, видео просто находка
@keymsr
@keymsr 2 жыл бұрын
Спасибище! Долго не мог разобраться, а тут всё просто и наглядно оказалось.
@MrOmelnik
@MrOmelnik 2 жыл бұрын
Спасибо автору за отличный обучающий материал. Доступно, понятно, без "воды". Удачи Вам.
@Romul3003
@Romul3003 2 жыл бұрын
Спасибо. Разбирал все сам по документации, а с твоей помощью закрепил и все улеглось в голове)
@akovalevv
@akovalevv 2 жыл бұрын
Одни из лучших видео на ютубе. Спасибо большое. Очень нравится что по мимо отличной подачи, автор пишет все на современных технологиях. Очень много туториалов даже за 2021- 22 года до сих пор используют старый редакс, а не тулкит.
@soln_sce3088
@soln_sce3088 Жыл бұрын
Спасибо огромное! Самый лучший туториал по этой теме из всех, что я видела.
@alexey9404
@alexey9404 Жыл бұрын
Спасибо за инициативу во второй части ролика и то что ты его продлил. Очень полезная инфа! Спасибо. Продолжай в том же духе 👍
@ИванИванов-л7ю
@ИванИванов-л7ю 8 ай бұрын
Михаил огромная благодарность вам за это видео в частности и за весь обучающий контент который вы делаете!
@bobby_jones
@bobby_jones 3 жыл бұрын
Очень благодарен за это видео. Помогло сильно. Не мог сам разобраться в Redux thunk в Redux Toolkit
@olegnesterov9957
@olegnesterov9957 3 жыл бұрын
Огромное спасибо за подробное объяснение работы с разными типами запросов
@Werma2006
@Werma2006 3 жыл бұрын
Спасибо, прочитал быстрый старт официальный для тулкит, ничего не запустилось и очень непонятно, а тут просто офигенно, спасибо
@vladprodan7010
@vladprodan7010 3 жыл бұрын
Крутое видео! Ты крут! Давай RTK Query
@juniorprogrammer3246
@juniorprogrammer3246 3 жыл бұрын
Да RTK Query нужен
@anazkomult
@anazkomult 3 жыл бұрын
Да, было бы чудесно. Михаил, очень просим!)
@mykhailo_shokun
@mykhailo_shokun 2 жыл бұрын
Хотим RTK Query
@Litaka1
@Litaka1 Жыл бұрын
отличный урок!! Спасибо, на работе в проекте назрела необходимость в использовании редакса. Я слишком далеко зашла в пропсдрилинге и нужно было это исправлять пока не поздно. Помнила, что начинала разбираться в классическом редаксе и было все понятно, до момента типизации))) но делать-то надо, еще только 9 месяцев опыта и я одна единственная фронт-программист, все делаю сама) немного страшно было, но по первому вашему уроку, я разобралась+помог коммент про типизацию, все РАБОТАЕТ!!!!! Смотрю дальше
@minkostas7232
@minkostas7232 Жыл бұрын
как это вы так устроились без знаний ?))
@Litaka1
@Litaka1 11 ай бұрын
это не IT компания, основное направление деятельности производство, а мой маленький it отдел - стартап. В чем-то легче(в плане нет дедлайнов), так как стадия разработки только (нет клиентов)@@minkostas7232
@j4st134
@j4st134 2 жыл бұрын
спасибо, очень помогло! (сижу джуном 6 месяцев опыта на мидловской позиции, пытаюсь делать задачи в сроки)
@true227
@true227 Жыл бұрын
Михаил, спасибо за видео. Прошло два года с момента выхода видео и теперь при записи через объектную нотацию в поле extraReducers, т.е в таком формате [fetchCards.pending]: (state, action) вылезает предупрждение в консоли о том, что The object notation for `createSlice.extraReducers` is deprecated . Корректная запись теперь через билдер extraReducers: (builder) => { builder.addCase(fetchCards.pending, (state) => { state.status = "loading"; }); Только вот в официальной доке указаны оба этих способа и про депришиайтед первого ни слова. Лучи поноса им
@xdayx53
@xdayx53 11 ай бұрын
да-да
@mikhaildevichensky6407
@mikhaildevichensky6407 2 жыл бұрын
Спасибо ! Приятный голос и четкость мыслей . Лайк и Подписка !
@denisu9286
@denisu9286 Жыл бұрын
Спасибо за легкий и понятный рассказ
@KenKeray
@KenKeray 3 жыл бұрын
Редко встречаю, когда видео лучше мануала. Спасибо!
@stephencurry8078
@stephencurry8078 3 жыл бұрын
только что зашел в документацию, офигел от жизни, ничего не понял, все таки не дорос пока, и зашел в ютуб с минимальной надеждой что то найти, и вот оно, спасибо. Сейчас глянем что да как
@outlaw4Iife
@outlaw4Iife 3 жыл бұрын
Спасибо, в качестве благодарности напишу ключевые слова чтоб твой видос быстрее искали. redux redux toolkit react-redux createAsyncThunk
@voidcode2534
@voidcode2534 Жыл бұрын
Большое спасибо! Люблю ваши видео, приятная и понятная подача
@НиколайХаритонов-й3н
@НиколайХаритонов-й3н 3 жыл бұрын
Видео огонь, тема очень хорошо раскрыта!
@EgorkaTubeOne
@EgorkaTubeOne 2 жыл бұрын
Очень приятный голос и приятная подача материала!
@ДмитроСіченко
@ДмитроСіченко 2 жыл бұрын
Спасибо , видео было очень полезное , светлая тема, оказалась очень приятная для восприятия, размер шрифта отличный!!!
@evgeniyn1542
@evgeniyn1542 3 жыл бұрын
Спасибо Михаил! Надо будет в выходные посмотреть :)
@AndreyKarlin
@AndreyKarlin 2 жыл бұрын
САМОЕ ЛУЧШЕЕ НА ЮТУБЕ ПО РЕДАКС ТУЛКИТ! СПАСИБО ОГРОМНОЕ, С МЕНЯ ПОДПИСКА И ЛАЙКИ!
@nursultanyerzhan4432
@nursultanyerzhan4432 2 жыл бұрын
Одним словом супер 😊. Простой, понятный, подробный.
@СергейКузнецов-щ5я
@СергейКузнецов-щ5я Жыл бұрын
Михаил, сильно благодарю. Классный видос, классная подача, классный урок!!!
@user-bt1rh9rt8j
@user-bt1rh9rt8j 3 жыл бұрын
Спасибо!!! Очень ждал это видео после предыдущего про редакс
@НиколайСеливанов-и2в
@НиколайСеливанов-и2в 3 жыл бұрын
Большое спасибо! Redux стал не так страшен :-) Отличное видео.
@deriirostyslav2335
@deriirostyslav2335 Жыл бұрын
да реально всё получается. Спасибо
@ylcsl4378
@ylcsl4378 2 жыл бұрын
Вот бы я раньше нашёл это видео, спасибо за труд!
@АлександрВащекин-с3й
@АлександрВащекин-с3й 2 жыл бұрын
Михаил, видео супер!!! Прекрасное объяснение
@DmitryDolganov
@DmitryDolganov 3 жыл бұрын
Михаил, салют! Благодарю!
@mishanep
@mishanep 3 жыл бұрын
Обращайтесь :)
@Vlad-jp3co
@Vlad-jp3co Жыл бұрын
Спасибо за ваши старания, Михаил)
@vova9962
@vova9962 2 жыл бұрын
Лайк, подписка, все уведомления !
@OleksandrDanylchenko2k
@OleksandrDanylchenko2k 3 жыл бұрын
Отлично, как раз на этой неделе понадобилось)
@nivaech
@nivaech 3 жыл бұрын
Охренительно полезное видео. Спасибо, очень помогло.
@Markuvines
@Markuvines 2 жыл бұрын
Спасибо за хорошую подачу информации.
@garikmelqonyan9130
@garikmelqonyan9130 2 жыл бұрын
Many thanks to you, Michael. Was a great tutorial as the most of your content.
@dimalukashenko4865
@dimalukashenko4865 3 жыл бұрын
Очень крутое видео. Чётко, без воды. Продолжай в том же духе.
@sqpine
@sqpine 2 жыл бұрын
Спасибо. Очень полезные видео, приятный голос и подача.Подписался😁
@avmru
@avmru 2 жыл бұрын
Спасибо за createAsyncThunk!
@Rostyslav-hv9un
@Rostyslav-hv9un 2 жыл бұрын
Видео отличное, помогло мне понять принципы работы Toolkit. Но эта белая тема в VSCode)))))
@КириллПетров-ш3н3к
@КириллПетров-ш3н3к 3 жыл бұрын
Спасибо! Отлично помогло разобраться.
@sergiopuccini
@sergiopuccini Жыл бұрын
Лайк! Подписка! Очень круто объяснено.
@АнатолийГорбов-о1ь
@АнатолийГорбов-о1ь Жыл бұрын
Михаил спасибо, отличное видео!
@MrMikelend
@MrMikelend 3 жыл бұрын
Очень круто! Огромное спасибо!
@armensargsyan8981
@armensargsyan8981 Жыл бұрын
14:30 в реальности будет именно так, он поподет в rejected, а дальше уже можно взоимодействовать с state, ошибка же todos.map is not a function... а в коде в initialState есть дефолтное значение? todos: [] ?
@МихаилНиколаев-з9л
@МихаилНиколаев-з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) => {}); }
@Zadrot1080p
@Zadrot1080p 10 ай бұрын
Вот еще варик extraReducers: (builder) => { builder .addCase(fetchTodos.pending, (state, action) => { state.status = 'loading'; state.error = null; }) .addCase(fetchTodos.fulfilled, (state, action) => { state.status = 'resolved'; state.todos = action.payload; }) .addCase(fetchTodos.rejected, (state, action) => { state.status = 'rejected'; state.error = action.payload; }) .addCase(deleteTodo.rejected, (state, action) => { state.status = 'rejected'; state.error = action.payload; }) .addCase(toggleStatus.rejected, (state, action) => { state.status = 'rejected'; state.error = action.payload; }) }
@brontytv4266
@brontytv4266 6 ай бұрын
люблю тебя братишка
@АлексейФиленко-ф4к
@АлексейФиленко-ф4к 2 жыл бұрын
Как всегда большое спасибо!)
@kostya9772
@kostya9772 2 жыл бұрын
Спасибо большое за видео!
@artemlesnov4869
@artemlesnov4869 3 жыл бұрын
Шикарный материал!!! Спасибо большое. хотел еще спросить о выносе логики из редюсеров в екстраредьюсеры и соединение нескольких слайсов для совместной реализации какой-то логики! было бы интересно посмотреть
@pitbrest
@pitbrest Жыл бұрын
Спасибо за урок.
@ВалерийПерелыгин-ъ3е
@ВалерийПерелыгин-ъ3е 3 жыл бұрын
Привет, старик!! ) Вкратце словами интернет классика... Нихрена не понятно, но оооочень интересно! ))
@mishanep
@mishanep 3 жыл бұрын
Какими судьбами, дружище? :)
@МатвейМанько-ь6ч
@МатвейМанько-ь6ч 2 жыл бұрын
Спасибо за туториал!
@escobar929
@escobar929 2 ай бұрын
автор просто красава!!!
@warcraft.mp4889
@warcraft.mp4889 8 ай бұрын
Вы просто прелесть
@sergeyplotnikov5031
@sergeyplotnikov5031 2 жыл бұрын
Как можно это унифицировать? Не хочется для каждого запроса прописывать столько всего. Большое спасибо за очень доходчивое объяснение!
@mishanep
@mishanep 2 жыл бұрын
Как и в обычном redux-thunk, rtk позволяет прокидывать для санков extra-параметр. Вместе с ним можно передать свою абстракцию для работы с crud-операциями, и внутри санка уже работать с ней, передавая нужные значения.
@dev-to-prod
@dev-to-prod 3 жыл бұрын
Контент огонь! Лайк, подписка) More React content pls!)
@awenn2015
@awenn2015 3 жыл бұрын
12:28 необязательно что то помещать в массив зависимостей эффекта , можно просто пустой передать и все
@user_8911
@user_8911 Жыл бұрын
Очень люблю Ваши видео. Просьба - уменьшить разрешение экрана. С телефона ничего не видно, что в документации написано.
@pandalove6795
@pandalove6795 Жыл бұрын
На 39:10 увидел, что у вас в функции addTodo добавляется новый todo с id = времени. Это же неправильно изначально, разве нет? Функция addTodo не является чистой, для добавления подобных id, я бы использовал middleware. Объясню т.к. я не силен в терминах, в теории и т.д., я жесткий практик. Я бы сделал новую функцию addTodo, которая перед вызовом addTodo из reducer как раз генерировала бы id. В общем и целом, да это называется middleware. Т.к. id устанавливается между dispatch и addTodo из reducer. Функции, которые написаны были в ролике, так же являются middleware.
@ОлегФилатов-м6е
@ОлегФилатов-м6е Жыл бұрын
всё круто, спасибо
@mivalb7979
@mivalb7979 3 жыл бұрын
Круто, спасибо!
@MarshallBanananana
@MarshallBanananana Жыл бұрын
Лекция информативная и доходчивая - Спасибо! Установить стартовый проект не удалось ни Ярном (отсутствует файл лицензии) ни NPM (401 - нет аутентификации).
@mishanep
@mishanep Жыл бұрын
Lock файл попробуйте удалить и запустить заново
@MarshallBanananana
@MarshallBanananana Жыл бұрын
@@mishanepСпасибо, удаление yarn.lock помогло. npm install; npm fix --force; npm run - live-server поднялся!
@ГульзанаКаткелдиева-ъ4ь
@ГульзанаКаткелдиева-ъ4ь 3 жыл бұрын
спасибо, все понятно
@МаксФамильный-о4п
@МаксФамильный-о4п 3 жыл бұрын
Спасибо большое за видео! все очень доступно и понятно, НО можно пожалуйста попросить Вас сделать примерно этот же пример только в классовом компоненте. Решил для себя разобраться, но если честно это стало большой проблемой. Я и другие зрители думаю скажут Вам спасибо за это. P.S. лайк поставил и подписался)
@МаксФамильный-о4п
@МаксФамильный-о4п 3 жыл бұрын
можно даже не видео отдельное я на codepen или куда еще залить.
@mishanep
@mishanep 3 жыл бұрын
Приветствую. Видео точно не будет :) В чем конкретно возникла сложность? Я классовые компоненты использую только для error контейнеров (потому что по-другому нельзя). В остальном всё на функциях, сам Реакт нам это рекомендует. В классах, понятно, не действуют хуки. А подключение к Редаксу происходит через пень колоду, то есть через метод connect из react-redux, который добавляет в пропсы значения из хранилища и конкретные экшны.
@МаксФамильный-о4п
@МаксФамильный-о4п 3 жыл бұрын
@@mishanep будем пробовать. Спасибо за ответ
@asergeev707
@asergeev707 3 жыл бұрын
Отличное видео
@prohanya
@prohanya 2 жыл бұрын
Большое спасибо за уроки по Редаксу. Очень подробно, с актуальной информацией. Подскажите, есть ли какие-нибудь видео по Entity Adapter?
@mishanep
@mishanep 2 жыл бұрын
Для ютуба не записывал. Я разбирал его в своём курсе по редаксу - классная штука.
@vladvoloshenko5701
@vladvoloshenko5701 2 жыл бұрын
лучший)
@whicencer8819
@whicencer8819 3 жыл бұрын
12:17 а можно ли вызывать этот dispatch например, при клике на кнопку, а не при орисовке?
@mishanep
@mishanep 3 жыл бұрын
Да, конечно. Пример использования по событию есть несколькими строчками выше. Аналогично можно и на onClick кнопки повесить.
@Анна_Бояршинова
@Анна_Бояршинова 3 жыл бұрын
Redux Toolkit. Thanks!
@awenn2015
@awenn2015 3 жыл бұрын
27:19 для таких вещей typescript и нужен что бы не гадать что там функции принимают ))
@maksymkyryliuk492
@maksymkyryliuk492 2 жыл бұрын
Михаил, знаю что скорей всего вы наверное не ответите на мой вопрос, видео уже давнее ведь. Но всё же попытаюсь задать его. А можно ли редакс-тулкит использовать совместно с интерсепторами аксиоса? 🤔
@vdvchannel7765
@vdvchannel7765 2 жыл бұрын
толково 👍
@Кашель-о5у
@Кашель-о5у 2 жыл бұрын
Спасибо!
@a.s.scherba
@a.s.scherba Жыл бұрын
А блок try/catch же выбрасывает ошибку автоматически, для чего там делать явную проверку и выбрасывать вручную?
@maxzavadovych9142
@maxzavadovych9142 Жыл бұрын
Михаил а есть какая-то разница между тем чтобы передать просто значение completed в пропсы асинхронной функции и тем что используем функцию getState и так находим значение completed?
@andrewsmal5173
@andrewsmal5173 2 жыл бұрын
Круто!!!
@kspshnik
@kspshnik Жыл бұрын
Михаил, доброе утро! Спасибо за супервидео. Скажите, а по createEntityAdapter() Вы такого видео случайно не планируете?
@mishanep
@mishanep Жыл бұрын
Приветствую. У меня он разобран на курсе по редаксу (юдеми, степик). На Ютуб пока не планировал. Штука удобная, да.
@enjoynfun
@enjoynfun 2 жыл бұрын
Thank you very mach)))
@maxhaponenko
@maxhaponenko 2 жыл бұрын
Скажите, а зачем выбрасывать ошибку чтобы там же ее словить. Почему бы просто в блоке проверки !response.ok не сделать return rejectWithValue(new Error()) ?
@williammutua
@williammutua 3 жыл бұрын
Well explained 💯
@itmonster5153
@itmonster5153 2 жыл бұрын
18:00 Ошибка и так будет, не понятно зачем еще какой-то метод использовать)
@awenn2015
@awenn2015 3 жыл бұрын
Хотел я такой же хелпер себе сделать 28:15 но в typescript вообще хз какого он типа поэтому пришлось тупо дублировать код(( есть кто знающий ? Какой тип у хелпера ?
@xdayx53
@xdayx53 11 ай бұрын
спасибо)
@vl_rotche
@vl_rotche 3 жыл бұрын
Браво!!
@GioMikadzegio9000
@GioMikadzegio9000 6 ай бұрын
спасибо !!!! если есть возможность снять видео про react query? спасибо !
@mishanep
@mishanep 6 ай бұрын
У меня на канале есть такое видео
@КостяКипр
@КостяКипр 2 жыл бұрын
Михаил, полностью повторял за вам проект ,но появился нюанс, что в devTools при первом рендеринге App происходит два pending и два fulfilled, дальше все работает как и должно. Я это исправил отключением StrictMode. Посмотрел в вашем репозитории и там StrictMode включен и нет двойных запросов. В чем может быть дело, подскажите?
@mishanep
@mishanep 2 жыл бұрын
В разных версиях Реакта?) В 18-й версии двойной ререндер при старте - это норма, ибо стрикт мод компонент это специально делает. В 17-й версии поведение отличалось.
RTK Query или альтернативный Redux по работе с API
31:55
Михаил Непомнящий
Рет қаралды 104 М.
Reselect для оптимизации Redux стора
18:17
Михаил Непомнящий
Рет қаралды 21 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН
We Attempted The Impossible 😱
00:54
Topper Guild
Рет қаралды 56 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Запросы в 1С за 3 часа
3:48:21
IRONSKILLS - Курсы по 1С
Рет қаралды 1,3 МЛН
Redux Toolkit для управления состоянием в React-приложении
1:00:09
Михаил Непомнящий
Рет қаралды 208 М.
Windsurf vs Cursor: In-Depth AI Code Editor Comparison
18:14
Yifan - Beyond the Hype
Рет қаралды 23 М.
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 81 МЛН