Боже, дядь, хватит пилить такое количество качественного контента, им можно просто брать и обмазываться) P.S Очень ждем полный и обновленный курс по NextJs. Для идеи - продвинутый таск менеджер)
Тимур, хоть я работаю с React достаточно давно, но ты мне открыл глаза на некоторые моменты в работе с toolKit. Спасибо тебе! Я думаю, что ты очень многим помог своими видео. Продолжай в том же духе и миллион тебе подписчиков! P.S. Я позаимствовал у тебя некоторые идеи касательно файловой структуры. Она очень продумана!
Для тех, у кого возникает ошибка с типизацией "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
Блин, спасибо большое за это видео. Думаю, те кто не писал на чистом Redux не поймут, как облегчает работу toolKit, особенно RTK, я писал на чистом redux и можно сказать, создавал состояния для нескольких категорий (ну тип, для пользователей, для постов, для документов и т.п.), их достаточно много, и на каждую такую категорию надо 4 файла, как минимум (reducer, actions, types (если typescript), service) и их создание сводилось к copy/paste и 10 минутному переименованию, поэтому, когда вместо этих 4 файлов, нужен всего один (который по размеру меньше каждого из тех 4), это просто очень круто, спасибо. Хотелось бы, чтобы ты описал как переопределять baseQuery, например, для добавления accessToken-а в заголовок, или для переавторизации, в случае, если accessToken перестал действовать, просто, мне это надо было в моем приложении, в принципе у меня и так получилось найти как это сделать, но если бы было видео на эту тему, было бы супер, еще раз спасибо
Круто, молодец RTK Query очень понятно рассказал. Нравится стиль твоего изложения. Без воды, коротко, по сути. Продолжай. Запили видос по Material UI или StoryBook плиз
Привет!) Классный ролик, спасибо!) Очень понравилась часть про RTK Query, я сам ее почему-то обделил вниманием, когда знакомился с тулкитом, теперь буду нагонять!) Успехов в развитии и продвижении канала!)
Буду не первым и не последним кто это скажет, благодаря твоим видео я нашел первую работу. Спасибо, что ты есть на ютубе P.s. видео трижды супер, как раз на проекте используется тулкит
Бро! Я сейчас просто посмотрел подряд 7-8 часов контента с твоего канала за раз, просто не смог оторваться до конца - это конечно топ. Тушишь все каналы своим контентом))
@@pashayasinskiy4972редгруп хуже. Он ничего не объясняет и подача материала настолько скоростная, что надо смотреть видео на скорости 0.001, но все равно ничего не понятно. Для изучения худший канал
Друг, спасибо тебе. Уже вроде писала комент, но это видео - моя библия по rtk. когда только начинала учить - заходила смотреть, повторила, попробовала сама сделать, записала, но ничего не поняла) и вот я уже джун разработчик, которого озадачили переписать на rtk. посмотрела это видео еще раз и достигла просветления. дай бог тебе здоровья и много денег.
Ролик хороший, но уж очень краткий и некоторые моменты понять невозможно если не читать документацию. Мои пожелания делать видео не "галопом по европам" а глубже разбирать тему с большим количеством примеров и объяснений. Далее согласно документации extraReducers с TypeScript следует реализовывать через builder: We recommend using the builder callback API as the default, especially if you are using TypeScript.
Здравствуй Тимур, отличный контент. Досмотрел, не всё понял, позже буду пересматривать... а то привык к mobX, а с редаксом оказывактся туго) *Л а й к* за отличное видео и *Р. е. с. п. е. к. т.*
Обычно использую MobX, но по вакансиям просят Redux и RTK query, а я с ними не работал и все документации были сложноватыми, чтобы быстро разобраться в этом. А это видео за 43 минуты дало мне больше чем два дня попыток понять Redux) Спасибо большое за видео и за труд!
Пожалуйста не стоит делать по Java script дотошных уроков как Владилена Минина. Это все можно получить из книг и официальной документации. Лучше какие то сложные моменты. Как структурировать код на чистом vanilla. Хотелось бы видео о том как не стоит делать новичкам
@@radikovichkz2470 Не думаю что это тоже стоит, как раз Тимур делает с подходом на то что ты уже знаешь, только на взгляд прекрасных инструментов ухватывая самое необходимое, с его гайдиков выходит так что ты после уже не плаваешь в документации, а уже спокойно с ней работаешь со знаниями который получаешь в видосе, это наверное единственный канал, на который заходишь именно за четкими знаниями, когда не особо есть силы на английское комьюнити
Видео очень хорошее. Но с тегами по РТК квери - немного опасно вешать одинаковый тег на все ендпоинты. Обновляя пост или удаляя его, - ты сбрасываешь кэш всех постов, а не конкретного поста. В документации в продвинутом разделе по РТК квери очень хорошо об этом расписано. Я понимаю, что тут только база и для максимальной простоты. С меня лайк=) А подписка оформлена уже давно=)
Боже, дядь, хватит пилить такое количество качественного контента, им можно просто брать и обмазываться) P.S Очень ждем полный и обновленный курс по NextJs. Для идеи - продвинутый таск менеджер)
Тимур, хоть я работаю с React достаточно давно, но ты мне открыл глаза на некоторые моменты в работе с toolKit. Спасибо тебе! Я думаю, что ты очень многим помог своими видео. Продолжай в том же духе и миллион тебе подписчиков! P.S. Я позаимствовал у тебя некоторые идеи касательно файловой структуры. Она очень продумана!
единственный сэнсэй, которого я смотрю не на 1.5, а на 0.75)
лол, я всех смотрю на 1.75, а его на 1.5 ))
жиза ++++
Я смотрю его на скорости 2 и мой мозг работает на 200%
@@neys4171 воу
1.25
Для тех, у кого возникает ошибка с типизацией "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 Advanced Edition 😁
Тимур, большое спасибо, очень ждал.
Обязательно завтра утром просмотрю!
Redux понял только благодаря твоим видосам и уже полгода активно использую его на проекте, теперь посмотрю в сторону toolkit
сильный ролик! Спасибо за информацию, буду использовать redux toolkit
Я два дня разбирался с тулкитом, не мог мутации побороть и обновление после них, теперь дело сдвинется с мертвой точки. Спасибо.
Еееее! Мои просьбы были услышенны)) сколько я оставил комментов автору чтобы он запилил про тулкит видос!!
Приятно когда тебя слышат!
Блин, спасибо большое за это видео. Думаю, те кто не писал на чистом Redux не поймут, как облегчает работу toolKit, особенно RTK, я писал на чистом redux и можно сказать, создавал состояния для нескольких категорий (ну тип, для пользователей, для постов, для документов и т.п.), их достаточно много, и на каждую такую категорию надо 4 файла, как минимум (reducer, actions, types (если typescript), service) и их создание сводилось к copy/paste и 10 минутному переименованию, поэтому, когда вместо этих 4 файлов, нужен всего один (который по размеру меньше каждого из тех 4), это просто очень круто, спасибо. Хотелось бы, чтобы ты описал как переопределять baseQuery, например, для добавления accessToken-а в заголовок, или для переавторизации, в случае, если accessToken перестал действовать, просто, мне это надо было в моем приложении, в принципе у меня и так получилось найти как это сделать, но если бы было видео на эту тему, было бы супер, еще раз спасибо
а где нашел инфу по авторизации, подскажи плиз)
Огромное спасибо! Redux toolkit TypeScript RTK query
Круто, молодец RTK Query очень понятно рассказал. Нравится стиль твоего изложения. Без воды, коротко, по сути. Продолжай.
Запили видос по Material UI или StoryBook плиз
Спасибо, как раз хотел что-нибудь по редаксу посмотреть!
Как всегда, Тимур на высоте!
Максимально качественный контент в сжатые тайминги.
Уважуха и респект тебе))
Привет!)
Классный ролик, спасибо!)
Очень понравилась часть про RTK Query, я сам ее почему-то обделил вниманием, когда знакомился с тулкитом, теперь буду нагонять!)
Успехов в развитии и продвижении канала!)
Лайк заочно!
Вот и цель на вечер.
Спасибо тебе, мой друг!
Я писал работу с сервером по запросам post get put delete в редакс тулкит и не знал что можно просто это сделать с rtk query, спс за видос
Какая лютая тема этот rtk query, обяхательно нужно будет переписать под него проект :D
Тимур! Огромное спасибо тебе за мега качественный контент. redux, Redux toolkit & TypeScript & RTK query.
Буду не первым и не последним кто это скажет, благодаря твоим видео я нашел первую работу. Спасибо, что ты есть на ютубе
P.s. видео трижды супер, как раз на проекте используется тулкит
удаленка?
Класс, мне тоже нужно было подключить просто redux к мини проекту на работе и я по видео Тимура сделал это и понял много вещей)
как успехи?)
Как всегда великолепный ролик! Redux Toolkit разобран очень подробно. Спасибо ))
Спасибо за ликбез (React Redux Toolkit RTK query TypeScript)
Спасибо, Тимур. После каждого твоего видео начинаю переписывать свой проект =)
Бро! Я сейчас просто посмотрел подряд 7-8 часов контента с твоего канала за раз, просто не смог оторваться до конца - это конечно топ. Тушишь все каналы своим контентом))
@Pasha Yasinskiy там все платное)
@Pasha Yasinskiyминус один конкурент
@Pasha Yasinskiyовно
как успехи
@@pashayasinskiy4972редгруп хуже. Он ничего не объясняет и подача материала настолько скоростная, что надо смотреть видео на скорости 0.001, но все равно ничего не понятно. Для изучения худший канал
Я еще смотрел , но уже палец вверх поставил
Лайк не глядя. Я ждал это видео. Спасибо!
Сразу лайк и коммент! Шикарный контент! Спасибо
Лайк не глядя. Давно ждал такой стек.
Крутое видео! Спасибо большое!
Только 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;
});
},
Спасибо, было очень полезно, буду использовать Квери!
Отлично!
Кратко, информативно и по делу.
Спасибо.
у кого ошибка Uncaught Error: The object notation for `createSlice.extraReducers` has been removed. Please use the 'builder callback' notation instead, разрабы изменили синтаксис, теперь нужно добавлять колбэк builder и писать addCase. Т.е. код должен выглядеть так:
extraReducers: (builder) => {
builder;
builder.addCase(
fetchUsers.fulfilled.type,
(state, action: PayloadAction) => {
state.isLoading = false;
state.error = "";
state.users = action.payload;
}
);
builder.addCase(
fetchUsers.rejected.type,
(state, action: PayloadAction) => {
state.isLoading = false;
state.error = action.payload;
}
);
builder.addCase(fetchUsers.pending.type, (state) => {
state.isLoading = true;
});
}
Спасибо за урок. Очень полезная информация в сжатом виде с примерами без монотонного изучения документации библиотеки.
пишу этот комментарий в знак уважения к автору для продвижения. Спасибо тебе, Тимур!
Лайк не глядя, у Тимура всегда годный контент
Соглы)
++
Присоединюсь
Просто нет слов. Браво!!!
Спасибо, отлично разложено про redux-toolkit и rtk query, как раз то чего мне не хватало для четкого понимания как его использовать
Спасибо за видео, полезный и нужный урок, постоянно слежу за вашей страничкой
Спасибо Вам большое Тимур за ваш труд.
Очень хороший урок. Узнал много нового. Спасибо!)
Топ, впрочем, как и всегда, спасибо огромное 🤙
Спасибо огромное за содержательное видео! Без воды, всё по делу! И такими порциями, которые можно усваивать!
RTK query конечно мощная штука. Спасибо!
Отлично!!!! Дождался)))) Спасибо!
Друг, спасибо тебе. Уже вроде писала комент, но это видео - моя библия по rtk. когда только начинала учить - заходила смотреть, повторила, попробовала сама сделать, записала, но ничего не поняла) и вот я уже джун разработчик, которого озадачили переписать на rtk. посмотрела это видео еще раз и достигла просветления. дай бог тебе здоровья и много денег.
Поздравляю, Тима!!!!! 50к подписчиков!!!👌🎊🎉👍
вот что-что, а этот видос я точно ждал)
Невероятный труд, вы лучший
Офигенный редкий контент! Спасибо за разбор актуальных технологий!
Спасибо тебе большое за твой огромный труд. Маловато просмотров для такого видео
контент отнюдь не для новичков
Е-е-е Redux, Redux Toolkit! Топ!
Топ, давно писал, что redux давно поменялся.
И снова ты лучший.
Спасибо 🙆♂️ уверен материал супер 👍
50к 😍🙌 поздравляю !))))
Кайф. Спасибо за видос !! Как раз вчера решил РТК вместо обычного редакса в проект вкатить
Спасибо за Огромную проделанную работу
Ролик хороший, но уж очень краткий и некоторые моменты понять невозможно если не читать документацию. Мои пожелания делать видео не "галопом по европам" а глубже разбирать тему с большим количеством примеров и объяснений. Далее согласно документации extraReducers с TypeScript следует реализовывать через builder: We recommend using the builder callback API as the default, especially if you are using TypeScript.
Отличный мини-курс!
Спасибо большое за подробное пособие по технологии, успехов Вам в работе!)
Очень качественно объяснил все, отличное видео, спасибо)
Ну монстр 💪спасибо
Yoo-hoo. Thanks a lot for your efforts. Good job.
Ты красавчик, Ulbi. Отвечаю!
Очень ёмко и целостно рассказал о Redux Toolkit и RTK query! Спасибо большое, Тимур!)
Этот канал - клондайк для фронтендщика... Тимур, спасибо тебе за эти драгоценные знания!
Привет Тимур, спасибо тебе.
Какой же ты крутой!!! (тож хочу ето все знать)
Спасибо !!! Очень крутой коонтенттт
Респект и благодарность.
вижу улби тв - ставлю лайк
Огромное спасибо за подробный контент. Правда день убил на разбор видео и настройку store под себя.
Redux toolkit мощная штука, а твои ролики как всегда насыщенные и понятные, продолжай в том же духе
Большое спасибо за качественньій материал!
огонь! просто лучший! не думал, что в ру-сегменте будет такая годнота!!!
Годнота, так держать!
Спасибо огромное!!!!
как тут поставить 100 лайков)) полезнее контента еще не видел
Спасибо за видос, ты один из лучших кто пилит хороший контент!
Здравствуй Тимур, отличный контент. Досмотрел, не всё понял, позже буду пересматривать... а то привык к mobX, а с редаксом оказывактся туго)
*Л а й к* за отличное видео
и
*Р. е. с. п. е. к. т.*
Обычно использую MobX, но по вакансиям просят Redux и RTK query, а я с ними не работал и все документации были сложноватыми, чтобы быстро разобраться в этом. А это видео за 43 минуты дало мне больше чем два дня попыток понять Redux) Спасибо большое за видео и за труд!
Очень круто, спасибо большое))
Как всегда лучший видос в рунете по теме !!!
А RN не планируется ? Продвинутый курс по традиции =)
Круто , спасибо
Комент в поддержку канала! p.s. Спасибо.
Спасибо,Тимаааа!!!🤩🥳
низкий поклон от джуна тебе Барин!
Тимур, 95% материалов на твоем канале требуют хороших знаний JavaScript, очень хотелось бы увидеть курс по JS в великолепном формате "фундаментальный"
поддерживаю. Особенно где толково рассказываются про асинхронщину, прокси, декораторы, итераторы, генераторы и тд
Пожалуйста не стоит делать по Java script дотошных уроков как Владилена Минина. Это все можно получить из книг и официальной документации. Лучше какие то сложные моменты. Как структурировать код на чистом vanilla. Хотелось бы видео о том как не стоит делать новичкам
@@radikovichkz2470 Не думаю что это тоже стоит, как раз Тимур делает с подходом на то что ты уже знаешь, только на взгляд прекрасных инструментов ухватывая самое необходимое, с его гайдиков выходит так что ты после уже не плаваешь в документации, а уже спокойно с ней работаешь со знаниями который получаешь в видосе, это наверное единственный канал, на который заходишь именно за четкими знаниями, когда не особо есть силы на английское комьюнити
Согласен, курсами по JS уже весь инет завален, а вот по продвинутым темам - действительно мало
Спасибо за очередное полезное видео
Видео очень хорошее. Но с тегами по РТК квери - немного опасно вешать одинаковый тег на все ендпоинты. Обновляя пост или удаляя его, - ты сбрасываешь кэш всех постов, а не конкретного поста. В документации в продвинутом разделе по РТК квери очень хорошо об этом расписано. Я понимаю, что тут только база и для максимальной простоты. С меня лайк=) А подписка оформлена уже давно=)
как раз искал тутор по тайпскр + тулкит. Ща ляну, отпишу как оно
голосом по европам, но в целом самый разборчивый ролик
@@eldartailov1473 эх, а мы то ждали, что автор бесплатно выложит всеобъемлющий ролик на 5 часов((((
@@danildemchenko6004 тоже правда