Redux Toolkit 2.0 - новые возможности и критические изменения
ฝัง
- เผยแพร่เมื่อ 9 ม.ค. 2024
- Что нового в Redux Toolkit 2.0 и его зависимостях. Разбираемся с критическими изменениями и смотрим какие возможности и нюансы принесла новая мажорная версия RTK.
Миграция на RTK 2.0 redux-toolkit.js.org/usage/mi...
Redux Toolkit для NextJS redux-toolkit.js.org/usage/ne...
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep - วิทยาศาสตร์และเทคโนโลยี
Спасибо. Как раз нужен был сведий ролик по Redux Toolkit
Крутяк!!!! Новый видос Михаила!!! Сразу лайк!!!!!!
огромное спасибо за ваш труд!
Это годнота подъехала. Как раз чаю себе налил.
I'm glad to see you, Serhii)
спасибо, было интересно посмотреть
Спасибо за контент
Спасибо за видео, как всегда очень чисто и понятно подана информация. А по поводу обновлений то вроде все более логичней все в одном месте.
Привет, Михаил! Как всегда интересно и познавательно. Приятно что не забываете про нас 😊
Продолжайте выпускать ролики Михаил, очень полезный контент👍🏻
Лучше бы пытались, как-нибудь сокращать настройку, стора, редьюсеров, чтобы код было легче читать. А то еще больше бесполезной хрени добавили.
Не говори, просто жесть
Тоже не в восторге. Выглядит как куча костылей.
Ей богу, проще не использовать Toolkit
у вас есть варианты как это сделать?) Ну типо пока редакс под копотом особо лучше не сделать. В целом норм изменения, то что можно наконец работать с асинхронщиной без экстра редьюсера большой плюс) Буду чуть меньше теперь плеваться от редакса
Я уже и забыл про тулкит, пользуюсь зустандом в паре с контекстом и как то особо не парюсь)
@@awenn2015а зачем контекст?
полезно иногда интиресоваться изменениями.
щас кстати читаю редакс + некст и даже не глянул изменения.
в хелпе давно было написано использовать "Builder Callback" Notation при создании редюсера, а щас "Object" Notation даже не упоминается.
с селектами прикольно, мидвару нужно будет перечитать
чанки переделали, теперь стало похоже на рттк.
думаю что в 3й версии скрестят ртк и рттк. и будет что-то одно ближе к рттк но с новой реализацией екстраредюсеров.
Огромное спасибо, что рассказываете о столь важных обновлениях! 🙏
Effector так расслабил за 2 года на рабочем проекте, что любую экспертизу в Redux потерял. 😅
Круто. Спасибо. А сделай видос как ты теперь будешь с этим работать в связке с next.js,как оно описано.
Точно также
Ну странно конечно, упаковали все в один слайс )
выглядит конечно не привычно но очень компактно))
интересно что же будет с адаптерами юзаю их постоянно))
Обзор классный и подача материала с примерами кода на высоте, приятно смотреть и слушать! Но вот про сам Redux - намудри как-то мне показалось, или после эффектора не заходит, хз
Good job
Совсем недавно заморачивался на тему Redux и серверных компонентов и даже написал разработчику RTK. В ответ он мне сказал, что пока это невозможно.
можно ли initialState при создании слайса заполнить содержимым полученным с бэкенда? например теми же сохраненными в базе тудус.
Из интересного, это удобная работа с санками, хоть мы их и не используем, но когда-то запаривало менеджить размазанную логику. А теперь всё в одном месте, и в случае необходимости можно декомпозировать, но точка входа осталась одна. Ждем 3 версию и обновление rtk query, большие ожидания по нему
Большое спасибо . Только я не понял почему 2 дизлайка . Ведь инфа полезная
Михаил, получаю ошибку typescript при использовании асинхронного акшена dispatch( actionThunk() )
Ts говорит что ожидается какой то параметр, но у меня экщен без параметров используется...
Может кто знает в чем проблема , когда пытался создавать селекторы внутри слайса , то падала ошибка : selectSlice returned undefined for an uninjected slice reducer
9:50 я не понял, что за api импортируется и вкладывается в combineSlices?
При запуске экшна на todo лист, есть задержка в секунду. Это не связано с перфомансом редакса?
Нет. В моем примере нет optimistic ui и UI полагается на ответ от сервера.
Почему удобнее хранить всю логику санков и селекторов в 1 обьекте слайса? Так же файл разрастается и становится трудно читаемым
О хранить селекторы в слайсе, а не в отдельных файлах удобно. Интересно только мемоизированные селекты через Reselect совать туда же или рядом экспорптить, но это уже на практике выясню.
*UPD:* Можно сразу создать мемоизированный, когда нужны какие-то преобразования. Хотя мне удобнее рядом создавать, когда нужно объединить несколько готовых, а не копипастить их
Создание async Thunk прямо в слайсах выглядит переусложнённым. Мне санки проще хранить отдельно, потому что одна и та же санка может обновлять сразу несколько слайсов. Хотя и чаще просто не юзаю санки, а перевожу проект на RTK query
Спасибо за рекап
Если не ошибаюсь, мув с санками обусловлен избавлением от экстра редюсеров. уже давно кидало варнинги о том, что скоро выпилят экстра редюсеры. как по мне, мув хорош. выглядит, конечно, перегружено. но можно ведь так же хранить санки отдельно и импортить в нужные редюсеры
@@spichkens Предупреждения кидало о том, что запись extraReducers в виде объекта будет выпилена, что и сделали - остался вариант только с builder.
не переваривал чанки и писал рттк
Здравствуйте! Redux-Saga больше не актуальна? Используют ли ее в связки с Redux-Toolkit?
Зависит от тонкостей проекта. В большинстве случаев сага сегодня не нужна.
что за программа у вас на mac иконка которой бегущая кошка в верхней правой панели навигации?)
Github
RunCat
Я кнч тулкитом уже не особо пользуюсь но новые фичи выглядят довольно полезными, одна возможность не дублировать селекторы а выносить из в слайсы выглядит довольно таки приятно
А чем пользуетесь?
@@stnslvrk пока что zustand
Привет Михаил. Очень полезный контент. Один из моих фаворитов:) Хотел узнать твое мнение о стейтменеджере Zustand. На практике и в проде показал себя лучше чем редакс.
Мне zustand нравится. Мне видится что часто он ложится в проект лучше редакса.
Я просто хирею от этого, спасибо за твой труд Михаил, но когда переходили на toolkit, он уже казался замороченным, по сранению с нативным первым, но в принципе, многое упрощал
Сейчас, на мой взгляд, это движение не туда, ПРОЩЕ НЕ СТАНОВИТСЯ...
а как оно может стать проще? Под копотом все еще реадкс который весьма ограничен
@@user-yw9wx4lv2w согласен, Я юзаю вариант 2022, вполне устраивает
Вообще нет желания работать с этим РТК. Пора на пенсию РТК. Спасибо за обзор.
А можно тезисно чем плох и что вместо него?
@@vvg1077зустанд))
@@vvg1077 охренеть как надо все много че настраиваить стор редьюсеры фанк 100500 строк писать и добовлять эксатра редюсеров/ redux скоро умрете даже уже есть простые state manager такие как zustand . Почему он еще популярный, бизнес сидит на нем как когда-то на jquery
+
AsyncThunk удобно сделали
а почему не показали способ создания редюсеров в слайсе с помощью create? reducers: (create) => ({}). я на него сейчас переписал тсанки намного удобнее стали
Эта тема есть в видео
@@mishanep так точно) прошу прощения
Это жесть! Вместо упрощения всё только усложнили с новой версией. В итоге код становится сложнее и не понятнее.
Zustand the best. Redux не потрібен. Якщо потрібно працювати з api, тоді react query для rest api i apollo client для graphql api. Зараз немає сенсу в Redux.
@mishanep Михаил, а вас со знаменитым шахматистом объединяют родственные связи? Или вы просто однофамилец?
Вот вроде всё на пользу и полезно... Но вот реально попользовавшись в тестах вьюэксом и пинией... Капец как не хотелось к редаксу возвращаться :))) Неужели под реак не возможно сделать что-то столь же логичное и без кучи странных манипуляций кодом?)
Так есть и альтернативы. Мне нравится zustand. Редакс долгое время был стандартом, поэтому его по инерции продолжают использовать.
@@mishanep спасибо попробую!
effector/reatom
Надо гайд по Effector!))
зачем нужен redux?
что учить то Redux Toolkit или просто Redux?
Тулкит. Он компактнее и проще в использовании. Сами ментейнеры Ридакса советуют тулкит.
@@mishanep благодарю 💪💪
как раз на днях начну изучать
учите редакс чтобы понимать как работает тулкит)
@@mishanep вот тут уже не соглашусь, учитывая "новинки" второй версии. С первым было проще, понятнее хотя бы.