Комментарии:
Только рискнула и решила ввести в проэкт асинктанк.У меня вопрос такой,если я хочу перед всеми запросами к бэку, проверить устарел ли мой токен,чтобы выйти из аккаунта..Мне надо в миддлевейрах писать эту часть кода.Или как ?Спасибо заблаговременно
ОтветитьМихаил, подскажите, пожалуйста, а как быть в ситуации когда надо с бэка получить данные отфильтрованные по двум-трем-... параметрам получаемых из разных компонентов? Скажем с одного компонента я через диспатч вызываю createAsyncThunk и передаю туда параметр, который идет потом в строку гет запроса axious , а в другом компоненте делаю фильтрацию по имени и мне надо это тоже передать в тот же createAsyncThunk, в ту же строку запроса на бэк . Как бы в этом случае?
ОтветитьМихаил, спасибо за видео. Прошло два года с момента выхода видео и теперь при записи через объектную нотацию в поле extraReducers, т.е в таком формате [fetchCards.pending]: (state, action) вылезает предупрждение в консоли о том, что The object notation for `createSlice.extraReducers` is deprecated . Корректная запись теперь через билдер extraReducers: (builder) => {
builder.addCase(fetchCards.pending, (state) => {
state.status = "loading";
}); Только вот в официальной доке указаны оба этих способа и про депришиайтед первого ни слова. Лучи поноса им
это лучший видеоуроки по redux-toolkit и createAsyncThunk
ОтветитьСупер супер, наконец-то у меня в голове встало все вместе ))) Спасибо огромное за такое доходчивое видео!!!
ОтветитьМихаил, доброе утро! Спасибо за супервидео. Скажите, а по createEntityAdapter() Вы такого видео случайно не планируете?
ОтветитьА блок try/catch же выбрасывает ошибку автоматически, для чего там делать явную проверку и выбрасывать вручную?
ОтветитьЧувак спасибо тебе за такой качественный контент. Не затянуто и не коротко прям идеально. Не буду указать пальцем, но есть некоторые которые пробегают быстро что то рассказывают, не успеваешь за ними и ничего не понятно.. А тут все идеально)
ОтветитьБольшое спасибо! Люблю ваши видео, приятная и понятная подача
ОтветитьНе понимаю, если я использую аксиос и в запросе await axios... какая то ошибка, то сразу перебрасывает в блок catch, то есть в if(!response) я впринципе попасть не могу, это что то под капотом аксиоса? Или я чето не понимаю?
ОтветитьЛекция информативная и доходчивая - Спасибо! Установить стартовый проект не удалось ни Ярном (отсутствует файл лицензии) ни NPM (401 - нет аутентификации).
ОтветитьСпасибо за инициативу во второй части ролика и то что ты его продлил. Очень полезная инфа! Спасибо. Продолжай в том же духе 👍
Ответитьвсё круто, спасибо
ОтветитьВопрос как быть и что делать, если между pending и fullfilled мы умудряемся дернуть экшен, который так же влияет на эти же данные? Например вызов toggleSelected в момент работы deleteTodo?
ОтветитьМихаил а есть какая-то разница между тем чтобы передать просто значение completed в пропсы асинхронной функции и тем что используем функцию getState и так находим значение completed?
Ответитьда реально всё получается. Спасибо
Ответитьа фетч в useCallback не надо завернуть? дабы опитимизирвоать?
ОтветитьСпасибо за ваши старания, Михаил)
ОтветитьБлин, сколько же всего надо запомнить , чтоб работать разработчиком ( чем дальше лезешь, тем больше понимаешь , что ещё миллион всего надо запоминать . Иногда кажется что это уже невозможно.
Ответитьможно обновление с builder callback потому что поддержка экстраредюсеров уже отходит
ОтветитьОчень люблю Ваши видео. Просьба - уменьшить разрешение экрана. С телефона ничего не видно, что в документации написано.
ОтветитьОдно удовольствие, учится по вашим роликам, большое спасибо!)
ОтветитьМихаил спасибо, отличное видео!
ОтветитьСпасибо за урок.
ОтветитьЛайк! Подписка! Очень круто объяснено.
ОтветитьМихаил, сильно благодарю. Классный видос, классная подача, классный урок!!!
ОтветитьМихаил, видео действительно получилось полезным! Посмотрела, так как на проекте используется redux toolkit, а я только redux использовала.
Особенно отмечу дикцию, вас приятно слушать, четко и по делу рассказываете, видео просто находка
CreateAsyncThunk или RTK Query? Что лучше использовать?
ОтветитьУ автора есть талант обучать других людей. Информация подается очень корректно и доступно. Большое спасибо!
ОтветитьДай тебе бог здоровья!)
ОтветитьСАМОЕ ЛУЧШЕЕ НА ЮТУБЕ ПО РЕДАКС ТУЛКИТ! СПАСИБО ОГРОМНОЕ, С МЕНЯ ПОДПИСКА И ЛАЙКИ!
ОтветитьСкачал ваш начальный проект с githuba но при попытке установить установить пакеты(node modules) выскакивает ошибки. Не подскажете как исправить?
ОтветитьОдним словом супер 😊. Простой, понятный, подробный.
ОтветитьА что лучше и практичнее использовать при асинхронщине? Ну и твое личное предпочтение, потому что, похоже, тут вкусовщина.
1. Изнутри диспатчить нужные редьюсеры
2. Не юзать диспатч внутри, а оставлять всю логику на экстра-редьюсеры - делать эту логику на этапах pending, rejected, fullfilled
Михаил, полностью повторял за вам проект ,но появился нюанс, что в devTools при первом рендеринге App происходит два pending и два fulfilled, дальше все работает как и должно. Я это исправил отключением StrictMode. Посмотрел в вашем репозитории и там StrictMode включен и нет двойных запросов. В чем может быть дело, подскажите?
Ответитьспасибо за видео! Может лучше action не событием называть, а действием?
ОтветитьА какой у тебя стоит плагин для redux что показывает методы у объекта как допустим на 8.46 после fetchTodos.
ОтветитьextraReducers - а если куча таких санок, куча лишнего кода, не проще ошибку обработать в асинк санке =Юif(!ok) { dispatch( setError(keyRequest, 'Ошибка') ) }
ОтветитьБольшое спасибо за уроки по Редаксу. Очень подробно, с актуальной информацией. Подскажите, есть ли какие-нибудь видео по Entity Adapter?
ОтветитьОтличный урок!
Но пока не понимаю как вызвать другой редюсер именно после успешного выполнения асинхронного, а не внутри него?
Буду благодарен, если подскажете решиние)
Получается все можно сделать прям внутри createAsyncThunk, и можно даже не использовать extraReducers?
ОтветитьПодскажите что лучше использовать для работы с api RTK Query vs createAsyncThunk? Заранее спасибо
ОтветитьСпасибо за туториал!
Ответитьлучший)
Ответить