Тимур, хоть я работаю с React достаточно давно, но ты мне открыл глаза на некоторые моменты в работе с toolKit. Спасибо тебе! Я думаю, что ты очень многим помог своими видео. Продолжай в том же духе и миллион тебе подписчиков! P.S. Я позаимствовал у тебя некоторые идеи касательно файловой структуры. Она очень продумана!
Боже, дядь, хватит пилить такое количество качественного контента, им можно просто брать и обмазываться) P.S Очень ждем полный и обновленный курс по NextJs. Для идеи - продвинутый таск менеджер)
Круто, молодец RTK Query очень понятно рассказал. Нравится стиль твоего изложения. Без воды, коротко, по сути. Продолжай. Запили видос по Material UI или StoryBook плиз
Для тех, у кого возникает ошибка с типизацией "e" в try...catch (e) {...} (15:14): У ошибок в TS по умолчанию тип unknown, она может быть чем угодно (грубо говоря, мы можем сделать throw new Promise(() => {}) и это будем ошибка с типом Promise или, аналогично, throw 7 и это будет ошибка с типом number). Для того, чтобы избежать проблем с типизацией и крашей в рантайме я рекомендую использовать следующую функцию для получения message из error: function getErrorMessage(error: unknown) { if (error instanceof Error) return error.message return String(error) } Далее делаем следующее: try { // логика } catch (e) { dispatch(userSlice.actions.usersFetchingError(getErrorMessage(e))) }
@@soulbringer6521 я описал в начале комментария, что ошибка не всегда может быть типа Error и иметь поле message. Обычно, конечно, это так, но если произойдет что-то непредвиденное - приложение сломается. Лучше сразу привыкать к best practice, а не рефлекторному применению any и as
Привет!) Классный ролик, спасибо!) Очень понравилась часть про RTK Query, я сам ее почему-то обделил вниманием, когда знакомился с тулкитом, теперь буду нагонять!) Успехов в развитии и продвижении канала!)
Друг, спасибо тебе. Уже вроде писала комент, но это видео - моя библия по rtk. когда только начинала учить - заходила смотреть, повторила, попробовала сама сделать, записала, но ничего не поняла) и вот я уже джун разработчик, которого озадачили переписать на rtk. посмотрела это видео еще раз и достигла просветления. дай бог тебе здоровья и много денег.
Бро! Я сейчас просто посмотрел подряд 7-8 часов контента с твоего канала за раз, просто не смог оторваться до конца - это конечно топ. Тушишь все каналы своим контентом))
@@pashayasinskiy4972редгруп хуже. Он ничего не объясняет и подача материала настолько скоростная, что надо смотреть видео на скорости 0.001, но все равно ничего не понятно. Для изучения худший канал
Блин, спасибо большое за это видео. Думаю, те кто не писал на чистом Redux не поймут, как облегчает работу toolKit, особенно RTK, я писал на чистом redux и можно сказать, создавал состояния для нескольких категорий (ну тип, для пользователей, для постов, для документов и т.п.), их достаточно много, и на каждую такую категорию надо 4 файла, как минимум (reducer, actions, types (если typescript), service) и их создание сводилось к copy/paste и 10 минутному переименованию, поэтому, когда вместо этих 4 файлов, нужен всего один (который по размеру меньше каждого из тех 4), это просто очень круто, спасибо. Хотелось бы, чтобы ты описал как переопределять baseQuery, например, для добавления accessToken-а в заголовок, или для переавторизации, в случае, если accessToken перестал действовать, просто, мне это надо было в моем приложении, в принципе у меня и так получилось найти как это сделать, но если бы было видео на эту тему, было бы супер, еще раз спасибо
Обычно использую MobX, но по вакансиям просят Redux и RTK query, а я с ними не работал и все документации были сложноватыми, чтобы быстро разобраться в этом. А это видео за 43 минуты дало мне больше чем два дня попыток понять Redux) Спасибо большое за видео и за труд!
Спасибо за хороший материал. Искала информацию по работе со стором с использованием toolKit, но столкнулась с информацией по RTK query, оказалась очень полезной
Буду не первым и не последним кто это скажет, благодаря твоим видео я нашел первую работу. Спасибо, что ты есть на ютубе P.s. видео трижды супер, как раз на проекте используется тулкит
сам пишу на ангуляре, отсюда понимаю некоторые концепции, и это видео идеально для меня т.к в одном видео затронуто сразу 2 важные вещи, которые я не знал как реализовать в реакт - управление состоянием и работа с апи, спасибо больше, вы сэкономили мне много времени )
Ролик хороший, но уж очень краткий и некоторые моменты понять невозможно если не читать документацию. Мои пожелания делать видео не "галопом по европам" а глубже разбирать тему с большим количеством примеров и объяснений. Далее согласно документации extraReducers с TypeScript следует реализовывать через builder: We recommend using the builder callback API as the default, especially if you are using TypeScript.
Раньше когда надо было разобраться с новой либой я шел в ее документацию, открывал раздел "гетинг стартед" и читал его. Теперь я захожу на твой канал и ищу по названию.
Видео очень хорошее. Но с тегами по РТК квери - немного опасно вешать одинаковый тег на все ендпоинты. Обновляя пост или удаляя его, - ты сбрасываешь кэш всех постов, а не конкретного поста. В документации в продвинутом разделе по РТК квери очень хорошо об этом расписано. Я понимаю, что тут только база и для максимальной простоты. С меня лайк=) А подписка оформлена уже давно=)
Здравствуй Тимур, отличный контент. Досмотрел, не всё понял, позже буду пересматривать... а то привык к mobX, а с редаксом оказывактся туго) *Л а й к* за отличное видео и *Р. е. с. п. е. к. т.*
очень годная инфа, спасибо тебе большое за такую теорию, за наглядный пример на практике и за старание конечно). Благодаря тебе, люди узнают много полезной информации
единственный сэнсэй, которого я смотрю не на 1.5, а на 0.75)
лол, я всех смотрю на 1.75, а его на 1.5 ))
жиза ++++
Я смотрю его на скорости 2 и мой мозг работает на 200%
@@neys4171 воу
1.25
Супер информативно и понятно. Порой слишком быстро, но думаю намного лучше отмотать назад, чем слушать нудятину. Спасибо огромное.
Тимур, хоть я работаю с React достаточно давно, но ты мне открыл глаза на некоторые моменты в работе с toolKit. Спасибо тебе! Я думаю, что ты очень многим помог своими видео. Продолжай в том же духе и миллион тебе подписчиков! P.S. Я позаимствовал у тебя некоторые идеи касательно файловой структуры. Она очень продумана!
Огромное спасибо! Redux toolkit TypeScript RTK query
Боже, дядь, хватит пилить такое количество качественного контента, им можно просто брать и обмазываться) P.S Очень ждем полный и обновленный курс по NextJs. Для идеи - продвинутый таск менеджер)
Поставил сразу лайк, как только в рекомендациях увидел свежий видос! Не сомневаюсь, что там топ, но просмотр оставил на вечер )
сильный ролик! Спасибо за информацию, буду использовать redux toolkit
Тимур самый лучший сэнсей учител
Великолепный и очень крутой урок
Еще не смотрел, сначала посмотрю твой ролик по тайпскрипту, потом вернусь сюда!
Уверен, ролик отличный, лайк авансом)
Спасибо за ликбез (React Redux Toolkit RTK query TypeScript)
Redux понял только благодаря твоим видосам и уже полгода активно использую его на проекте, теперь посмотрю в сторону toolkit
Спасибо, как раз хотел что-нибудь по редаксу посмотреть!
я просто не знаю, как тебя отблагодарить, мне как раз нужен был такой видос!!! ты меня сильно выручил, ОГРОМНОЕ ТЕБЕ СПАСИБО
недавно неделю убил на то, чтобы разобраться конкретно в такой же связке)
контент как всегда топ!
Какая лютая тема этот rtk query, обяхательно нужно будет переписать под него проект :D
Тимур! Огромное спасибо тебе за мега качественный контент. redux, Redux toolkit & TypeScript & RTK query.
Отлично! Очень рад, что в своё время наткнулся на твой канал. Огромный пласт полезной информации.
Еееее! Мои просьбы были услышенны)) сколько я оставил комментов автору чтобы он запилил про тулкит видос!!
Приятно когда тебя слышат!
Тимур, большое спасибо, очень ждал.
Обязательно завтра утром просмотрю!
Круто, молодец RTK Query очень понятно рассказал. Нравится стиль твоего изложения. Без воды, коротко, по сути. Продолжай.
Запили видос по Material UI или StoryBook плиз
Спасибо за урок. Очень полезная информация в сжатом виде с примерами без монотонного изучения документации библиотеки.
Спасибо за видео, полезный и нужный урок, постоянно слежу за вашей страничкой
Спасибо, отлично разложено про redux-toolkit и rtk query, как раз то чего мне не хватало для четкого понимания как его использовать
УАУ! Тимур, спасибо большое за видос!!! Предчувствую, что ближайший час будет просто мега крутой !!!!!!!
Я два дня разбирался с тулкитом, не мог мутации побороть и обновление после них, теперь дело сдвинется с мертвой точки. Спасибо.
Спасибо большое за подробное пособие по технологии, успехов Вам в работе!)
Тимурыч, от души))
Я был одним из тех, кто просил это видео: Redux Toolkit Advanced Edition 😁
пишу этот комментарий в знак уважения к автору для продвижения. Спасибо тебе, Тимур!
Спасибо огромное за содержательное видео! Без воды, всё по делу! И такими порциями, которые можно усваивать!
Для тех, у кого возникает ошибка с типизацией "e" в try...catch (e) {...} (15:14):
У ошибок в TS по умолчанию тип unknown, она может быть чем угодно (грубо говоря, мы можем сделать throw new Promise(() => {}) и это будем ошибка с типом Promise или, аналогично, throw 7 и это будет ошибка с типом number).
Для того, чтобы избежать проблем с типизацией и крашей в рантайме я рекомендую использовать следующую функцию для получения message из error:
function getErrorMessage(error: unknown) {
if (error instanceof Error) return error.message
return String(error)
}
Далее делаем следующее:
try {
// логика
} catch (e) {
dispatch(userSlice.actions.usersFetchingError(getErrorMessage(e)))
}
Можно просто выполнить приведение типов:
dispatch(userSlice.actions.usersFetchingError((e as Error).message))
@@soulbringer6521 я описал в начале комментария, что ошибка не всегда может быть типа Error и иметь поле message. Обычно, конечно, это так, но если произойдет что-то непредвиденное - приложение сломается. Лучше сразу привыкать к best practice, а не рефлекторному применению any и as
@@kr4chinin771 Полностью согласен. Был невнимателен.
Спасибо)
Потратил больше часа, поэому пожалуй оставлю
try {
// логика
} catch (e) {
return thunkAPI.rejectWithValue("Ошибка загрузки пользователей");
}
_______
...
.addCase(fetchUsers.rejected, (state, action) => {
state.isLoading = false;
if (typeof action.payload === 'string') {
state.error = action.payload;
} else {
state.error = "Неизвестная ошибка";
}
});
Спасибо, было очень полезно, буду использовать Квери!
Крутое видео! Спасибо большое!
Только redux-toolkit обновился. Сейчас в extraReducers нужно прописывать функцию с параметром builder, а не объект:
extraReducers: builder => {
builder
.addCase(fetchUsers.pending.type, (state) => {
state.isLoading = true;
})
.addCase(fetchUsers.fulfilled.type, (state, action: PayloadAction) => {
state.isLoading = false;
state.error = '';
state.users = action.payload;
})
.addCase(fetchUsers.rejected.type, (state, action: PayloadAction) => {
state.isLoading = false;
state.error = action.payload;
});
},
Привет!)
Классный ролик, спасибо!)
Очень понравилась часть про RTK Query, я сам ее почему-то обделил вниманием, когда знакомился с тулкитом, теперь буду нагонять!)
Успехов в развитии и продвижении канала!)
RTK query конечно мощная штука. Спасибо!
Очень ёмко и целостно рассказал о Redux Toolkit и RTK query! Спасибо большое, Тимур!)
Друг, спасибо тебе. Уже вроде писала комент, но это видео - моя библия по rtk. когда только начинала учить - заходила смотреть, повторила, попробовала сама сделать, записала, но ничего не поняла) и вот я уже джун разработчик, которого озадачили переписать на rtk. посмотрела это видео еще раз и достигла просветления. дай бог тебе здоровья и много денег.
Я писал работу с сервером по запросам post get put delete в редакс тулкит и не знал что можно просто это сделать с rtk query, спс за видос
Спасибо, Тимур. После каждого твоего видео начинаю переписывать свой проект =)
Лайк заочно!
Вот и цель на вечер.
Спасибо тебе, мой друг!
Огромное спасибо за подробный контент. Правда день убил на разбор видео и настройку store под себя.
Этот канал - клондайк для фронтендщика... Тимур, спасибо тебе за эти драгоценные знания!
Как всегда, Тимур на высоте!
Максимально качественный контент в сжатые тайминги.
Уважуха и респект тебе))
Очень хорошие уроки, большое спасибо! Насколько сильно влияет речь на восприятие материала, супер!
Бро! Я сейчас просто посмотрел подряд 7-8 часов контента с твоего канала за раз, просто не смог оторваться до конца - это конечно топ. Тушишь все каналы своим контентом))
@Pasha Yasinskiy там все платное)
@Pasha Yasinskiyминус один конкурент
@Pasha Yasinskiyовно
как успехи
@@pashayasinskiy4972редгруп хуже. Он ничего не объясняет и подача материала настолько скоростная, что надо смотреть видео на скорости 0.001, но все равно ничего не понятно. Для изучения худший канал
Блин, спасибо большое за это видео. Думаю, те кто не писал на чистом Redux не поймут, как облегчает работу toolKit, особенно RTK, я писал на чистом redux и можно сказать, создавал состояния для нескольких категорий (ну тип, для пользователей, для постов, для документов и т.п.), их достаточно много, и на каждую такую категорию надо 4 файла, как минимум (reducer, actions, types (если typescript), service) и их создание сводилось к copy/paste и 10 минутному переименованию, поэтому, когда вместо этих 4 файлов, нужен всего один (который по размеру меньше каждого из тех 4), это просто очень круто, спасибо. Хотелось бы, чтобы ты описал как переопределять baseQuery, например, для добавления accessToken-а в заголовок, или для переавторизации, в случае, если accessToken перестал действовать, просто, мне это надо было в моем приложении, в принципе у меня и так получилось найти как это сделать, но если бы было видео на эту тему, было бы супер, еще раз спасибо
а где нашел инфу по авторизации, подскажи плиз)
Как всегда великолепный ролик! Redux Toolkit разобран очень подробно. Спасибо ))
Отлично!
Кратко, информативно и по делу.
Спасибо.
Кайф. Спасибо за видос !! Как раз вчера решил РТК вместо обычного редакса в проект вкатить
Обычно использую MobX, но по вакансиям просят Redux и RTK query, а я с ними не работал и все документации были сложноватыми, чтобы быстро разобраться в этом. А это видео за 43 минуты дало мне больше чем два дня попыток понять Redux) Спасибо большое за видео и за труд!
Спасибо огромное за видео!!! Все сжато и по делу, никакой воды. Столько качественного контента нигде не еще не видел.
Спасибо Вам большое Тимур за ваш труд.
Очень хороший урок. Узнал много нового. Спасибо!)
Офигенный редкий контент! Спасибо за разбор актуальных технологий!
Есть небольшие расхождения и даже пришлось немного доку почитать, но в общих чертах информативно
Спасибо за хороший материал. Искала информацию по работе со стором с использованием toolKit, но столкнулась с информацией по RTK query, оказалась очень полезной
Спасибо тебе большое за твой огромный труд. Маловато просмотров для такого видео
контент отнюдь не для новичков
низкий поклон от джуна тебе Барин!
Ты красавчик, Ulbi. Отвечаю!
Дякую з якісний контент. Redux. Redux Toolkit, RTK query, TypeScript
Я еще смотрел , но уже палец вверх поставил
Redux toolkit мощная штука, а твои ролики как всегда насыщенные и понятные, продолжай в том же духе
Твоё видео как всегда лучшее!!!Сейчас на работе RTK используем, благодаря тебе получилось изучить максимально быстро.
в 2 версії видалять extraReducers "map object" notation, тепер треба білдер використовувати.
extraReducers: builder => {
builder
.addCase(fetchUsers.pending, (state, action) => {
})
.addCase(fetchUsers.fulfilled, (state, action) => {
})
.addCase(fetchUsers.rejected, (state, action) => {
state.isLoading = false;
state.error = action.error?.message || 'Error 404'
})
}
Топовый материал чтобы максимально быстро познакомиться с RTK query, премного благодарен 😌
Требую разбор типизации объекта error!!)
Супер контент))
Буду не первым и не последним кто это скажет, благодаря твоим видео я нашел первую работу. Спасибо, что ты есть на ютубе
P.s. видео трижды супер, как раз на проекте используется тулкит
удаленка?
Класс, мне тоже нужно было подключить просто redux к мини проекту на работе и я по видео Тимура сделал это и понял много вещей)
как успехи?)
Поздравляю, Тима!!!!! 50к подписчиков!!!👌🎊🎉👍
Комент в поддержку канала! p.s. Спасибо.
сам пишу на ангуляре, отсюда понимаю некоторые концепции, и это видео идеально для меня т.к в одном видео затронуто сразу 2 важные вещи, которые я не знал как реализовать в реакт - управление состоянием и работа с апи, спасибо больше, вы сэкономили мне много времени )
Шоооооооооооооооооок! Как это легко, какая синхронизация, сколько возможностей!
Тимур, спасибо огромное за твою работу!!!!
50к 😍🙌 поздравляю !))))
Спасибо большое за подробное объяснение, благодаря Вам начинаю понимать redux ❤❤❤
Тимур, ты как всегда огонь - кратко, по делу и без воды.
Спасибо.
Сразу лайк и коммент! Шикарный контент! Спасибо
Лайк не глядя. Я ждал это видео. Спасибо!
Ролик хороший, но уж очень краткий и некоторые моменты понять невозможно если не читать документацию. Мои пожелания делать видео не "галопом по европам" а глубже разбирать тему с большим количеством примеров и объяснений. Далее согласно документации extraReducers с TypeScript следует реализовывать через builder: We recommend using the builder callback API as the default, especially if you are using TypeScript.
Как всегда все четко и ясно. Спасибо за труд.
Раньше когда надо было разобраться с новой либой я шел в ее документацию, открывал раздел "гетинг стартед" и читал его. Теперь я захожу на твой канал и ищу по названию.
Спасибо, полезное видео, чтобы быстро обновить хорошо забытые знания и кое-что узнать нового)
Видео очень хорошее. Но с тегами по РТК квери - немного опасно вешать одинаковый тег на все ендпоинты. Обновляя пост или удаляя его, - ты сбрасываешь кэш всех постов, а не конкретного поста. В документации в продвинутом разделе по РТК квери очень хорошо об этом расписано. Я понимаю, что тут только база и для максимальной простоты. С меня лайк=) А подписка оформлена уже давно=)
Спасибо за крутые видосы!!! Хотелось бы в будущем увидеть урок по тестированию react-redux-typescript
Здравствуй Тимур, отличный контент. Досмотрел, не всё понял, позже буду пересматривать... а то привык к mobX, а с редаксом оказывактся туго)
*Л а й к* за отличное видео
и
*Р. е. с. п. е. к. т.*
Это просто кладязь мудрости!
Очень качественно объяснил все, отличное видео, спасибо)
Супер! Спасибо! Особенно за typescript, пока он много нервов у меня съедает))))
как тут поставить 100 лайков)) полезнее контента еще не видел
Тимур, ты лучший, спасибо, когда есть время что-то выучить или повторить новое, не задумываясь включаю твои ролики)
очень годная инфа, спасибо тебе большое за такую теорию, за наглядный пример на практике и за старание конечно). Благодаря тебе, люди узнают много полезной информации
Полезнее контента чем это э не смотрю в ютубе. Большое спасибо!
Спасибо за Огромную проделанную работу
Да, мощный урок, узнал очень много нового. Твои уроки постоянно подогревают интерес, это круто!
Просто нет слов. Браво!!!
Наконец!!! Снимаю с зарядки ноутбук и иду прогать! Спасибо, Тимур, контент топовый!!
Привет Тимур, спасибо тебе.
Спасибо за проделанную работу! Как говорится: "То, что доктор прописал.".
Спасибо за видос, ты один из лучших кто пилит хороший контент!
Дядя спасибо за отличный разбор, на нормальном стаке с typescript. Очень понравилось наличие не тривиальных кейсов.
Очень круто!! Спасибо за такую качественную работу!!!Можно попросить сделать видосик связки rtk querry и websocket?
Как всегда лучший видос в рунете по теме !!!
А RN не планируется ? Продвинутый курс по традиции =)
Какой же ты крутой!!! (тож хочу ето все знать)
Очень понятно обьясняешь, спасибо за видео, проолжай в том же духе)