Сам метод *createSlice* возвращает нужный тип. Для него, по факту, необходимо затипизировать *initialState* отдельным интерфейсом, и при создании редьюсеров для параметра *action* передать дженерик тип *PayloadAction* (его можно импортировать прямо из @reduxjs/toolkit), ну и передать в параметр дженерика соответствующий интерфейс - какой объект ожидается на вход в action. Тип экшн криейтора выводится автоматически из slice.action как *ActionCreatorWithPayload* , здесь от нас дополнительно ничего не требуется.
@@mishanep Спасибо большое! Изучать тайпскрипт можно сказать я начал буквально вчера. Изучаю по видео Дима It camasutra react путь самурая версия 2. У него просто обычные редюсеры, а мне слайсы безумно понравились, а то эти экшен крейтеры, диспатчы за 3 месяца уже успели надоесть. Вот немного мучался с типизацией слайса. Спасибо, вроде немного понял что ты написал
@@stephencurry8078 полагаю, это остается на усмотрение команд. Думаю, многие по привычке продолжат использовать классический вариант. В целом, тулкит с избытком покрывает возможности обычного редакса.
Не знаю почему, но редакс(да и вообще все стейтменеджеры которые я попробовал), даже в облегченной его версии в виде тулкита, лично мне дается ОЧЕНЬ сложно. много вхождений и выхождений, настроек, вложенности и всего остального. лично у меня точно не получится посмотрев это видео(хотя я считаю вас как самого доходчиво обьясняющего человека), набросать хотя бы примерный аналог такого же туду с редаксом. даже возможно с подсматриванием в этот готовый проект спустя неделю не смогу сказать что тут и от чего. а это, напомню, простой туду с тремя методами. не знаю даже как включить голову на понимание всего этого и снять шоры пробрасывания пропсов :( оно как бы интуитивно понятно, что ui вызывает диспатч, который диспатчит экшен и пейлод в редьюсер, а редьюсер меняет стор который и видит пользователь. но именно кодом все это взять и написать, - никак..
Приветствую, Павел! Здесь нужно спокойно отнестись к тому, что Редакс сразу не дается. Разумеется, при первом/втором/третьем знакомстве скорее всего просмотра одного видео с примером будет недостаточно. Здесь надо прорабатывать всю эту историю, начиная с простых примеров, вроде кликера. Потом усложнять и внедрять в свои проекты, практиковать и еще раз практиковать. В данном случае подобные мануалы показывают, что не всё так страшно (особенно если сравнить с аналогичными уроками трех-четырехлетней давности, когда совсем въехать было сложно). Плюс можно пометить себе какие-то основные нюансы (конспект - отличная штука), а при необходимости пользоваться дополнительно документацией. Если вплотную заняться изучением и практикой Редакса, то время будет работать на вас и через пару недель большинство вопросов отпадет.
@@AnnaVentsel-o5z иди на канал Арчакова , там есть курс реакт сникерс , если знаешь +- джс ,тогда сможешь походу и реакт выучить на базе , ну а паралельно можешь Владелена смотреть ,тоже классный тип
@@AnnaVentsel-o5z 100% согласен! Если бы меньше его приколов, зачастую вообще не нужных, то и длительность процентов на 30 можно было бы сократить без потери качества.
Спасибо, Михаил. Стало чуточку понятнее, но в целом редакс пока что не помещается в голове. Внимательно посмотрел, теперь все повторю. Мне нравится подача, объяснение, голос. Желаю развития вашему каналу.
Пришел с нового проекта - потому что там все на редакс тулките. Ничего не понятно, после мобэкса похоже на страшное говно. Вот потрачу вечер на ваши видео в надежде разобраться )
И очень круто (лично для меня), что Вы сделали сначала БЕЗ redux, а потом уже постепенно его внедряли. Это прям вот очень прояснило, что и откуда берется, нигде в других роликах такого не видел..
Вот жиза, у меня те же любимые учителя + ещё Алекс Лущенко. Каждый в чем то хорош. Кто то js хорошо объясняет кто то реакт, а в данном случае лучше из всех обяснил Михаил)
Возможно отдельным курсом. Но пока не знаю когда смогу взяться. Сейчас активно работаю над курсом по базовому JS. У меня в линейке курсов его очень не хватает.
Спасибо вам за разъяснения. Был немного разочарован тем, что никак не понимаю редакс. Концепция понятна и просто, но вот реализация с кучей лишнего кода ради кода - ломает мозг. В итоге несколько недель ушло на понимание всего этого, а потом и тулкит показался понятнее. Ну а ваш ролик расставил все по местам)
Очень хорошее видео, пересматриваю его уже несколько раз, чтобы моя башка поняла, потому что по другим видео вообще не могу вчехлить Redux, спасибо Мишань!!! Респект тебе и продвижения канала!
Всё понятно и логично, но с первого взгляда это усложнение как по мне, почему просто не использовать event emitter и слушать события чего угодно откуда угодно? По сути это будет тоже самое но логика останется внутри компонентов без выноса их в store, просто в двух словах поясните пожалуйста
Всем кому тяжело понять редакс тулкит, рекомендую все таки сначала попробовать обычный редакс хотя бы понять, благо есть хорошие уроки по нему. Вам будет намного проще. Я начал обучаться фронтенду 3 месяца назад по курсу 20ого года. И там в конце был как раз редакс классический. Вроде разобрался с ним, сам попробовал тестовые счетчики, тудушки, посты добавит-удалить и думаю "какой же это геморой"). И мне знакомый подсказал, что пробуй тулкит. И вот я наткнулся на этот урок и получилось сразу все понять без проблем. Как по мне, это одно и то же, что сразу начать учить реакт не зная JS вообще. Не поленитесь, уделите времени денёк на понимание обычного редакс и всё получится. Автору спасибо за ценную информацию.
Доброго времени суток, как успехи в разработке?. Насчёт вашего совет - все абсолютно верно, я не мог понять редакс-тулкит и мне знакомый сказал, что лучше бы я сперва разобрался с основами обычного редакса. В итоге посмотрел серию видосов по реакту от Ulbi и теперь данное видео про тулкит зашло как по маслу.
А мне нравится обычный редакс, тем что просто создавать thunk`и с асинхронными запросами. Присоединяюсь, действительно, если понятен обычный редакс, то намного проще понять редакс тулкит. Хороший курс по базовому редаксу у IT камасутры, там 100 уроков, но если их изучить, то все становиться очень просто.
Зачем в пропсы пробрасывать функции если этому компоненту они не нужны? Нужно эти функции вынести в тот компонент которым они нужны разве нет? И лучше использовать dto если этих пропсов больше двух. Понял Вам нужны pure function
Спасибо за видео! А почему нельзя вместо Редакс использовать глобальные переменные? Например задать в главном компоненте несколько переменных, это будет Стейт, а другие компоненты будут их изменять и перерисовывать Вью.
На 9й минуте, когда автор сказал, что у него кнопка не работает, а у меня работала - на миг остановилось сердце. Сразу подумал - ля, где я накосячил, пока переписывал код
Да-да, меня уже давно вынудили пересесть на темную тему)) Недавно на проекте коллега шарил экран и я удивился почему он использует светлую тему. И он сказал, что его глазам проще смотреть на светлую тему, так как с темной они быстрее устают и начинают болеть. Так что здесь нет универсального решения.
Спасибо большое, Михаил, за очень познавательное видео! Отличная подача материала, все понятно с учетом того, что мой основной стек - бэкенд)) и я не так давно стал использовать React
Я три дня смотрел на Редакс, как баран на новые ворота. В итоге прокидывал пропсы через компоненты и потом их же в редьюсер чтобы из них собрать "путь" и адресоваться к нужному полю Стора. В чём прикол? Где автоматизация? Вообще не похоже на первую картинку! Что я бл делаю не так? Или что они сделали не так?
redux-tookit - самая отвратительная обертка над redux, они убрали один бойлерплейт но добавили куча другого непонятно. В документации сходу не поймешь что к чему и как лучше использовать. Лучше юзать typesafe-actions. Но разработчики редакса, теперь принуждают нас использовать redux-toolkit, так как метод createStore из базового пакета редакс считается depcreated. Это просто омерзительно!
А в чём проблема? Я typesafe-actions не пользовался, но стор в тулките создаётся через configureStore, который также принимает middlewares + enhancers. Остальной проект (экшены, редусеры) можно вообще не менять. А тулкит и правда отвратительная обёртка.
Прямо с Вами точь в точь сделал приложение, единственное, ругается на createStore пишет что надо уже подключать configureStore, и loader spinner, надо подключить было TailSpin За место Loader так как не входит уже в компонент. пишет, а так все сделал вместе с Вами для прокачки.. ))
Михаил, подскажите пож-та, зачем мы состояние для InputField, а также метод addTask() создаем на уровне App, а потом пробрасываем вниз? Кажется, что мы как раз и хотели избавиться от передачи пропсов. Не лучше ли создать и использовать их внутри InputField ??
Хорошая подача материала Все вроде как понятно, ничего сверхтяжелого пока не увидел Единственно конечно, и вправду очень тяжело держать это все в голове сразу нужно наверно с десяток раз написать это все, чтоб оно тупо зафиксировалось в голове
Вот прям не знаю, может, мне не везло просто.. Но это ЛУЧШЕЕ объяснение redux toolkit, которое я видел!!! Прям чётко и по полочкам. До этого тема казалась сложной, особенно в связке с ts. После просмотра началось просветление прям, всё стало более-менее понятно, что откуда берется, - никто эти моменты не прорабатывает в своих "туториалах": голая теория, потом голая практика. А у Вас получилось очень понятно донести материал, именно для новичков супер!!!
Крутой урок. Спасибо Вам, Михаил. Регулярно Вас смотрю. Молю, можно пожалуйста, меньше белых тем. Это не очень приятно для глаза, особенно, если очень яркий IPS монитор ;) Спасибо!!
Михаил! Спасибо за классный урок. Я недавно начал изучать react. Скажите пожалуйста, сложно ли в данный проект добавить подтверждение удаления? Для этого нужно создать еще один экшн? Спасибо.
Не лучший способ изложения для новичка: создать одно приложение, а потом переделывать его по ходу под Redux: это запутывает. Лучше сразу было показать что нужно делать чтобы создать такое приложение с нуля. Хотелось бы изначально сконцентрироваться на сути и не отвлекаться на удаление и перемещение старого приложения.
"Растущую аппаратную мощность программисты компенсируют фреймворками"))) это я про тулкит и подобные обертки. Но преподнести функции как экшоны - отличная идея!
asyncThunkCreator довольно запутанный они сделали в своем тулките . куча опций разных и так далее . есть у них еще недавно представленная штукенция redux toolkit query . вот вот хочу её почитать , прикинуть что за вещь . как они говорят как раз как альтернативу можно использовать .
спасибо! как я понимаю если проект состоит их кучи микрофронтэндов, в каждом свои стейты, естественно и в каждом микрофронтэнде редактируется по сути 1 сущность (иногда может 2), то редакс нет смысла использовать? а то я попытался редакс на один из них натяуть и получит только лишние рендеры из-за диспатча событий )
спасибо! всё чётко 👍по полочкам 👏если бы я делал объяснение этой темы, то наверное алгоритм был бы тот же самый, без редакса, коцепция, прикрутили редакс 👍
С какими темами я только не работал. Светлая сейчас больше нравится :) здесь всем не угодишь, люди просят противоположное. Возможно периодически буду чередовать.
уже довольно долго изучаю реакт по видосам айти камасутры и сам js в общем,но тут захожу и в простой туду задаче нахожу много новых фишек в первые же 10 минут видео,довольно круто и интересно,лайк подписка однозначно
Редко пишу комментарии, но здесь не могу не оставить, спасибо за подробнейшее объяснение, смотрел документацию и несколько больших видео на ютубе, никак не далось понять основы, а вы так подробно разжевали ,еще раз спасибо и всех благ