Ребята, не бойтесь. Я смотрел этот урок, повторил все за Димычем и потом начал разбираться, так как не понял. Взял ручку, листок и стал рисовать все функции, куда они ведут и что выдают. Получилась нормальная такая схема, сам все понял и теперь стало легче и увереннее)
@@rostikoffchannel Напишу тут коммент ,может кто увидит и кому то поможет. В action TOGGLE_IS_FOLLOWING_PROGRESS мы передаем свойство id и isFetching, так же у нас в стейте users-reducer есть такое же свойство и сначало у меня вызвало непонимание где мы его переприсваиваем и как на него завязываемся логикой. На самом деле никак. Свойство isFetching в action используется просто как флаг для тернарного выражения в редюсере и если мы передаем true то нужно использовать [...state.followingInProgress,action.id] тем самым добавляя id в массив что приведет к последующей disable кнопки т.к. в атрибуте кнопки disabled используется метод массива some возвращающий true либо false в зависимости от того есть или нет передаваемого значение в колбек в качестве атрибута, в нашем случае id. Либо когда мы в ответе в .then диспатчим этот же action мы передаем false и срабатывает state.followingInProgress.filter(id => id!==action.id) что удаляет из массива followingInProgress нужную id и тем самым disable кнопки отменяется потому что метод some в атрибуте disable в кнопке вернет false. То есть в action вы можете назвать это свойство как угодно что бы не было путаницы, например isAddingID тогда кейс в редьюсере будет выглядить так case TOGGLE_IS_FOLLOWING_PROGRESS: return {...state, followingInProgress: action.isAddingID ? [...state.followingInProgress,action.id] : state.followingInProgress.filter(id => id!==action.id) } а экшн криэйтор так : export const toggleIsFollowingProgress = (id: number,isAddingID:boolean) => ({type: TOGGLE_IS_FOLLOWING_PROGRESS, id,isAddingID} as const) не забудьте в правильном порядке передавать id и isAddingID что бы все это понять вы должны отлично понимать метод some, filter, тернарный оператор,псевдоложь и псевдоистину Всем удачи 🙃
@@oleksiimuliar4123 главное код не под копирку делай, а проблемы в Реакте одни и теже и решаются одинаково. А спалят вас по тому что апишник одинаковый. Почти 31 тысяча копий судя по просмотрам.
Для простоты запоминания some. Метод some это метод поиска "сома в садке". Применяя метод Сом к Садку мы передаем ему id и как бы говорим "Вот тебе id для тебя это Сом, найди мне в садке этого Сома"! Метод говорит true если нашел нашего Сома!
Блин, в конце я поплыл с этими айдишками и массивами))) До этого прямо ясность была))) Ну ничего, пересмотрим))) После этого урока надо читать: Промисы, методы фильтрации: some и every. Кажется так))) . . . . #ReactJS, #DAL, #UI, #BLL, #SingleResponsibility, #JavaScript, #DontCry )))
вообще ещё уроков 5 назад он говорил что бы мы шли учить ajax запросы, а там он посоветовал идти учить promise и давал ссылки на эти уроки. Я с этими промисами просидел весь день, я докапывался до каждой мелочи, почему так, а не так и тд, так же досмотрев курс по ajax и сделав todo list, я добил эти промисы и все последние видосы сижу на чиле
На страничке мы нажимаем кнопку follow/unfollow, срабатывает обработчик событий и вызывает функцию ToggleFollowingProgress, передавая в качестве параметра isFetching true и айди пользователя, кнопку которого нажали. В редьюсер отправляется соответствующий action и поскольку из компоненты было передано true в качестве isFetching срабатывает первое условие в тернарном выражении, то айди пользователя (переданное при вызове колбека) добавляется в массив FollowingInProgress (вроде так назывался) В компоненте на кнопке висит disabled который проверяет если в массиве FollowingInProgress айди пользователя и если есть то кнопка дизейблится (для понимания как предлагалось ниже в комментариях метод some можно заменить на includes (который проверяет наличие соответствующего элемента в массиве ) для простоты понимания. Далее когда мы запостили\делитнули запрос и получили ответ, мы изменяем кнопку на странице на другое значение - unfollow\follow и снова вызывается функция ToggleFollowingProgress с новыми аргументами - false и этим же айди пользователя В редьюсере, поскольку пришел false срабатывает второе условие тернарного выражения и фильтруется массив FollowingInProgress - в нем остаются только те айди, которые НЕ совпадают с переданным при вызове колбека, то есть эта фильтрация удаляет пришедший айди из массива Поскольку теперь в массиве нет этого айди то и в дизейбле метод some\includes его не найдет и кнопка не будет дизейблится Если в массиве FollowingInProgress есть айди пользователя то кнопка дизейблится а если отфильтровать то не дизейбл Постаралась максимально описать логику процесса Оооочень надеюсь кому нибудь хоть немного помочь :)
то есть, если у меня кнопка follow нажимается-меняется на unfollow, но остаётся задизейбленная, значит айди не фильтруется из массива? как это исправить? я уже 3 дня не могу справиться с этой проблемойб хотя код такой же как в видео(ну за исключением названий моих переменных).
@@tinami1887 Насколько я помню и понимаю, да, массив остается по итогу пустым. Массив мы используем для того, чтобы можно было подписаться/отписаться на/от НЕСКОЛЬКИХ пользователей, чьи айди будут в этом массиве, и как раз по этой причине нам нужна эта фильрация, ведь если мы подписались сразу на 10 пользователей, то их айди будут отфильтровываться поочереди (выходит что очищение или копирование пустым, как вы предложили, получается не слишком эффективным, хотя при каких то иных обстоятельствах имеет место быть) :) Очень надеюсь, что я все правильно поняла и не ввожу вас в заблуждение 😅😅😅
Да, урок сложноватый когда ты на практике впервые сталкиваешься с применением методов some/filter. Я практически каждый шаг попытался сформулировать, что зачем и почему и в целом разобрался часов за 5). Всем успехов.
ну что поделать, благотворительностью занимается менее 1% людей. Я на своих проектах тестировал. Никто спасибо рублём не говорит, кроме 1-2 человек из 1000. На рекламе тоже мало зарабатываешь. А вот за платные услуги можно в 100-10000 раз больше рекламы заработать.
Если бы я соревновался в количестве поставленный лайков на этом проекте, наверное был бы первым) + 1 лайк чуть ли не везде, по другому не знаю как ещё отблагодарить Димыча за такой труд, пока контора не взяла на контракт. И не заплатила бакс.
Второй раз делаю соцсеть, этот урок уже понятен в отличие от первого раза. Сейчас смотрю видео со скоростью 1.5, а потом делаю сам, если чего-то не получается, то по-минимуму подсматриваю. Третий раз планирую сам всё сделать - и вперёд искать работу! Спасибо большое, премиум оплачен на 3 месяца)))
с использованием хуков: пишем в самой компоненте const [followingInProgress, setFollowingProgress] = useState(false) фоллоу ...идет запрос: setFollowingProgress(true) ...пришел ответ: setFollowingProgress(false) ------------- поправьте если неправильно ----upd: лучше в глобал стэйт кидать состояние, оказывается будут проблемы с санками
Димыч ты как всегда на высоте ))) но я бы в данной конкретной ситуации использовал Array.includes вместо Array.some disabled={props.is_following.some(id => id === props.id)} disabled={props.is_following.includes(props.id)} мне кажется для восприятия проще и понятней
В общем то с этого видео уже купил подписку на месяц ибо вообще невозможно стало тестить работу)) но вышло копейки, кстати после покупки сразу справился с багами)
когда нажимаем на follow => диспатчим объект => и передаём в него айдиху пользователя и isFetching: true (выполняется часть добавления айди в массив [...state.followingImProgress, action.userID] ). и метод массива some вернёт true ( id === props.user.id)}...) . После следует асинхронная часть .then (.....) , где диспатчим объект с isFetching: false и c этой же самой айдихой пользователя. В случае с isFetching: false выполняется та часть кода, где фильтруется масси(там уже лежит айди, которая попала с первым диспатчем и её "удаляем") и у кнопки теперь метод массива some не вернёт true, так как попросту там уже не будет этой айди ( id === props.user.id)}...) и кнопка не будет задизеиблина
Урок как всегда бомба, Дима! Тебе огромная благодараность) P.s.: - асинхронные операции не блокируют UI, в этом большой плюс) - .some - проверяет массив и возвращает ответ удовлетворяет ли хотя бы один элемент массива заданному условию Летим дальше, успех неизбежен)
Закинул немного бабосов, работаю php разрабом, сайтики, смs итд, очень нравится react, во многом благодаря Димычу! Как перейду на react разработчика закину еще)
Оформил подписку на 3 года)) Для лучшего сенсея по React не жалко! Идея курса реально крутая, собственно как и идея инкубатора! Димыч ты лучший! Если с помощью твоего курса дойду до трудоустройства, то однозначно первую зп потрачу на поддержку твоего проекта))
Оформил годовую подписку.. Честный труд должен справедливо оплачиваться!. По React, Redux, Axios - это лучший курс в рунете! p.s. Кстати, ни у кого нет кряки для WebStorm? )))
Очень хорошее объяснение! API проплатил иначе невозможно нормально работать и идти дальше! Да и как не отблагодарить за такой курс! Спасибо еще раз !!! Летим дальше 🚀 #api #filter #some #reduce #reactjs #реакт #редакс
тупая кнопка не disablится, аоаоаоаоао. Но всё равно собралась пересматривать, потому что тяжеловато разобраться, какой toggle... за что отвечает в конечном счёте, и надо вспомнить, за что отвечает isFetching и почему мы его сюда присобачиваем как ни в чём ни бывало.... Всё ещё лучший курс по React redux reducer dispatch )
Двигатель греется, но по сути, все (еще) понятно. Надо бы и map() пересмотреть попутно. СЛОНА СЪЕДАЮТ ПО КУСОЧКУ! Потихоньку переварим. Димыч, спасибо!
Реально круть. Голову выносит дебаггинг, особенно когда ошибся в каком-то не очевидном месте, например переключение isFollowingProgress не в ответе .then а после него. Очень крутой курс. Димыч, спасибо тебе огромное!
У мене чомусь (можливо тому, що задала певний бекграунд кнопці) візуально не показувало, що кнопка задизейблена. Намагалась знайти помилку в коді, поки не вирішила по замовчуванню задизейблити і аж тоді помітила, що вона недоступна для дій, але по візуалу така як і інші. Змінила в стилях :disabled і стало все на свої місця). Урраа!! Пішли далі!
Супер! Теперь наглядно видно как применяется и уж точно запомнится функция some. После пары раз использования фильтра и мап они врезались в память и их легко можно было как из кармана достать и применить, а вот some и every когда то прочитались и забылись. Димыч, спасибо тебе!!!
Димыч я как устроюсь на работу обязательно закину тебе спасибо$$ в очень щедром количестве, сейчас попросту возможности нет, очень благодарен тебе и твоему труду!!! Даже не знаю где бы я учил эти все технологии если бы не этот курс. Очень благодарен за бесплатный но ооооооочень ценный контент.
С манипулированием айдишника было туговато, но после пересмотра видео и самостоятельного обдумывания в течение получаса вроде все стало на свои места) Спасибо, Димыч)
все супер, упустил момент когда изменился followingInProgress: с false на [], не мог понять почему TypeError: props.following InProgress.some is not a function пока нашел причину, урок усвоил в рази лучше))
Спасибо Димыч! Апишку проплатил, как получу первую зп - куплю на три года сразу) Для ранжирования: disable buttons follow/unfollow while sending the axios.get request to the server, arr.some() - DONE, React, Redux, state, store, improve UI/UX
Отлично! Спасибо огромное за труд! Насчет зп джунов, кстати! Видел вакансии, где джунам обещали от 50-80 тыс. руб, даже 120 видел, но при условии, что быстро прокачаешься на миддла...
Димыч спасибо! Сложная цепочка кода в этом видео для казалось бы каких-то ссаных кнопочек))), надеюсь разрулится в последующих видео. Лучший курс React Redux button disabled (follow\unfollow)
Ребята, не бойтесь. Я смотрел этот урок, повторил все за Димычем и потом начал разбираться, так как не понял. Взял ручку, листок и стал рисовать все функции, куда они ведут и что выдают. Получилась нормальная такая схема, сам все понял и теперь стало легче и увереннее)
да урок жесть мне тоже уровня не хватило. Димічу респект
@@rostikoffchannel Напишу тут коммент ,может кто увидит и кому то поможет. В action TOGGLE_IS_FOLLOWING_PROGRESS мы передаем свойство id и isFetching, так же у нас в стейте users-reducer есть такое же свойство и сначало у меня вызвало непонимание где мы его переприсваиваем и как на него завязываемся логикой. На самом деле никак. Свойство isFetching в action используется просто как флаг для тернарного выражения в редюсере и если мы передаем true
то нужно использовать [...state.followingInProgress,action.id] тем самым добавляя id в массив что приведет к последующей disable кнопки т.к. в атрибуте кнопки disabled используется метод массива some возвращающий true либо false в зависимости от того есть или нет передаваемого значение в колбек в качестве атрибута, в нашем случае id. Либо когда мы в ответе в .then диспатчим этот же action мы передаем false и срабатывает state.followingInProgress.filter(id => id!==action.id) что удаляет из массива followingInProgress нужную id и тем самым disable кнопки отменяется потому что метод some в атрибуте disable в кнопке вернет false. То есть в action вы можете назвать это свойство как угодно что бы не было путаницы, например isAddingID тогда кейс в редьюсере будет выглядить так
case TOGGLE_IS_FOLLOWING_PROGRESS:
return {...state,
followingInProgress: action.isAddingID
? [...state.followingInProgress,action.id]
: state.followingInProgress.filter(id => id!==action.id) }
а экшн криэйтор так :
export const toggleIsFollowingProgress = (id: number,isAddingID:boolean) => ({type: TOGGLE_IS_FOLLOWING_PROGRESS, id,isAddingID} as const)
не забудьте в правильном порядке передавать id и isAddingID
что бы все это понять вы должны отлично понимать метод some, filter, тернарный оператор,псевдоложь и псевдоистину
Всем удачи 🙃
Чувак, спасибо за твой уроки. Я диплом на реакт написал благодаря тебе. А сейчас ещё и на работу fullstack'ом взяли.
По ходу у меня тоже будет подобный диплом)
@@iharberasneu2905 нам главное в разных городах находится, чтобы не спалили) 😂
@@oleksiimuliar4123 главное код не под копирку делай, а проблемы в Реакте одни и теже и решаются одинаково. А спалят вас по тому что апишник одинаковый. Почти 31 тысяча копий судя по просмотрам.
Для простоты запоминания some.
Метод some это метод поиска "сома в садке".
Применяя метод Сом к Садку мы передаем ему id и как бы говорим "Вот тебе id для тебя это Сом, найди мне в садке этого Сома"!
Метод говорит true если нашел нашего Сома!
Блин, в конце я поплыл с этими айдишками и массивами))) До этого прямо ясность была))) Ну ничего, пересмотрим)))
После этого урока надо читать: Промисы, методы фильтрации: some и every. Кажется так)))
.
.
.
.
#ReactJS, #DAL, #UI, #BLL, #SingleResponsibility, #JavaScript, #DontCry )))
вообще ещё уроков 5 назад он говорил что бы мы шли учить ajax запросы, а там он посоветовал идти учить promise и давал ссылки на эти уроки. Я с этими промисами просидел весь день, я докапывался до каждой мелочи, почему так, а не так и тд, так же досмотрев курс по ajax и сделав todo list, я добил эти промисы и все последние видосы сижу на чиле
Аналогично...
На страничке мы нажимаем кнопку follow/unfollow, срабатывает обработчик событий и вызывает функцию ToggleFollowingProgress, передавая в качестве параметра isFetching true и айди пользователя, кнопку которого нажали.
В редьюсер отправляется соответствующий action и поскольку из компоненты было передано true в качестве isFetching срабатывает первое условие в тернарном выражении, то айди пользователя (переданное при вызове колбека) добавляется в массив FollowingInProgress (вроде так назывался)
В компоненте на кнопке висит disabled который проверяет если в массиве FollowingInProgress айди пользователя и если есть то кнопка дизейблится (для понимания как предлагалось ниже в комментариях метод some можно заменить на includes (который проверяет наличие соответствующего элемента в массиве ) для простоты понимания.
Далее когда мы запостили\делитнули запрос и получили ответ, мы изменяем кнопку на странице на другое значение - unfollow\follow и снова вызывается функция ToggleFollowingProgress с новыми аргументами - false и этим же айди пользователя
В редьюсере, поскольку пришел false срабатывает второе условие тернарного выражения и фильтруется массив FollowingInProgress - в нем остаются только те айди, которые НЕ совпадают с переданным при вызове колбека, то есть эта фильтрация удаляет пришедший айди из массива
Поскольку теперь в массиве нет этого айди то и в дизейбле метод some\includes его не найдет и кнопка не будет дизейблится
Если в массиве FollowingInProgress есть айди пользователя то кнопка дизейблится а если отфильтровать то не дизейбл
Постаралась максимально описать логику процесса
Оооочень надеюсь кому нибудь хоть немного помочь :)
то есть, если у меня кнопка follow нажимается-меняется на unfollow, но остаётся задизейбленная, значит айди не фильтруется из массива? как это исправить? я уже 3 дня не могу справиться с этой проблемойб хотя код такой же как в видео(ну за исключением названий моих переменных).
@@tinami1887 Насколько я помню и понимаю, да, массив остается по итогу пустым. Массив мы используем для того, чтобы можно было подписаться/отписаться на/от НЕСКОЛЬКИХ пользователей, чьи айди будут в этом массиве, и как раз по этой причине нам нужна эта фильрация, ведь если мы подписались сразу на 10 пользователей, то их айди будут отфильтровываться поочереди (выходит что очищение или копирование пустым, как вы предложили, получается не слишком эффективным, хотя при каких то иных обстоятельствах имеет место быть) :)
Очень надеюсь, что я все правильно поняла и не ввожу вас в заблуждение 😅😅😅
Да, урок сложноватый когда ты на практике впервые сталкиваешься с применением методов some/filter. Я практически каждый шаг попытался сформулировать, что зачем и почему и в целом разобрался часов за 5). Всем успехов.
Быстро и не должно быть! Молодец ✊
Ну Димыч ну хитрец)) Как же я затрахался получать 429 ошибку... Пока не снял ограничения API. Браво!
У меня тоже ошибка 429.Это связанно с тем что у меня не премиум доступ?
@@clientmvideo150 da.
ну что поделать, благотворительностью занимается менее 1% людей. Я на своих проектах тестировал. Никто спасибо рублём не говорит, кроме 1-2 человек из 1000. На рекламе тоже мало зарабатываешь. А вот за платные услуги можно в 100-10000 раз больше рекламы заработать.
@@indigosay ну да, если хоть 100 человек купит АПИ то уже будет 300 000р. На продаже курса столько не заработаешь)
@@ВладимирГугин-ш7щ на продажах курсов зарабатывают по 50 млн рублей с 1 курса, если умеют грамотно организовать всё)
Если бы я соревновался в количестве поставленный лайков на этом проекте, наверное был бы первым) + 1 лайк чуть ли не везде, по другому не знаю как ещё отблагодарить Димыча за такой труд, пока контора не взяла на контракт. И не заплатила бакс.
Спасибо, бро!
Еще видео не вышло, а я уже поставил лайк)
Аналогично)
Спасибо, ребят!
Асинхронный лайк, чо)
Второй раз делаю соцсеть, этот урок уже понятен в отличие от первого раза. Сейчас смотрю видео со скоростью 1.5, а потом делаю сам, если чего-то не получается, то по-минимуму подсматриваю. Третий раз планирую сам всё сделать - и вперёд искать работу! Спасибо большое, премиум оплачен на 3 месяца)))
Как ваши успехи?
с использованием хуков:
пишем в самой компоненте
const [followingInProgress, setFollowingProgress] = useState(false)
фоллоу
...идет запрос:
setFollowingProgress(true)
...пришел ответ:
setFollowingProgress(false) ------------- поправьте если неправильно
----upd: лучше в глобал стэйт кидать состояние, оказывается будут проблемы с санками
Супер курс по react redux. Оформил платную подписку (пока на три месяца), так же всем рекомендую отблагодарить автора таким образом.
Спасибо, Макс!
да, будут деньги - обязательно 😀
@@МитяА-р5к 240 рублей любой может найти
Второй день смотрю это видео)) Вроде оно небольшое, но как грабли))
Вынос мозга))))) Надо спать идти)
Димыч ты как всегда на высоте )))
но я бы в данной конкретной ситуации использовал Array.includes вместо Array.some
disabled={props.is_following.some(id => id === props.id)}
disabled={props.is_following.includes(props.id)} мне кажется для восприятия проще и понятней
да, так удобнее) спасибо))
Спасибо, выручил. У меня одна кнопка вместо двух как у Димыча, и с some не получалось
Спасибо! Стараюсь посмотреть что будем делать, ставлю на паузу и сперва пробую сама, потом смотрю как бы сделал Димыч.
Сложноватый выпуск) Спасибо!
Разобрался, круто! Летим дальше! React JS button disabled (follow\unfollow)
Димыч рулит! Спасибо большое!
В общем то с этого видео уже купил подписку на месяц ибо вообще невозможно стало тестить работу)) но вышло копейки, кстати после покупки сразу справился с багами)
Купил подписку, пока минимальную, как устроюсь кодером - отвалю щедро, ты крут, спасибо тебе
Спасибо, Димыч!!!!👍🏻👍🏻👍🏻🫶🏻🫶🏻🫶🏻
когда нажимаем на follow => диспатчим объект => и передаём в него айдиху пользователя и isFetching: true
(выполняется часть добавления айди в массив [...state.followingImProgress, action.userID] ).
и метод массива some вернёт true ( id === props.user.id)}...) .
После следует асинхронная часть .then (.....) , где диспатчим объект с isFetching: false и c этой же самой айдихой пользователя.
В случае с isFetching: false выполняется та часть кода, где фильтруется масси(там уже лежит айди, которая попала с первым диспатчем и её "удаляем")
и у кнопки теперь метод массива some не вернёт true, так как попросту там уже не будет этой айди ( id === props.user.id)}...) и кнопка не будет задизеиблина
Programming and Coding!!!
React & Redux!!! The BEST!!!
учитесь дебажить это вам поможет.
прошло пару минут
аааааааааааа я ненавижу дебажить)))) улыбнуло!!!
Классный урок.
Ожидаем продолжения курса на 300+ серий )
Урок как всегда бомба, Дима! Тебе огромная благодараность)
P.s.:
- асинхронные операции не блокируют UI, в этом большой плюс)
- .some - проверяет массив и возвращает ответ удовлетворяет ли хотя бы один элемент массива заданному условию
Летим дальше, успех неизбежен)
Ещё не встречал курса, чтобы автор показывал процесс поиска и исправления ошибок, а также рассказывал об методологии обучения. Димыч, спасибо!
2022. Спасибо большое! Очень круто вот так потихоньку, помаленьку дополнять проект и узнавать что-то новое!
Решил отблагодарить Димыча за труды и оформил подписку на месяц. Когда найду роботу, оформлю на год))
Лучшие уроки по ReactJs!! Спасибо Вам огромное!!!Бесценный труд!
Димыч спасибо тебе, за очередной урок! Оплатил и на ютубчике, и сервак так же. Огромный труд ты делаешь, сил тебе !!! React, redux, array , some
Спасибо за урок, все круто, немного подзакипела голова в конце с методами массива, но дополнительно почитал, посмотрел и разобрался. Двигаем дальше
Всё круто ) Всё получилось ) disabled работает как часы ) Всё понятно
React JS - практика, button disabled (follow\unfollow) Лучший курс !
Димыч, ты крутой! Благодарю тебя!
Завис на часов 6 на этом видосе )))))))
но все понятно вроде бы стало) Летим!
еле еле понял, прям до усрачки тяжелая тема для меня.... Спасибо, Димыч
Курс великолепный!
Если кому еще пригодится: вместо "some" можно использовать "find"
Ноябрь 2020 года. Ценник не поднял Димыч! Спасибо!
Закинул немного бабосов, работаю php разрабом, сайтики, смs итд, очень нравится react, во многом благодаря Димычу! Как перейду на react разработчика закину еще)
очень интересный урок, респект
Covid-19 - не помеха учиться!
23.03.2020
Димыч - крутейший учитель!
Во время самоизоляции нельзя деградировать 😁
🥲
Удивительно, как хорошо Дмитрий объясняет! Самый лучший курс по React- Redux, который я когда- либо видел! Дмитрий лучший!
C array.some и array.filter такая красота получилась, просто кайф. Не знал про них, большое спасибо!!!!
Довольно сложный был выпуск. Спасибо за урок,Димыч!!!
Спасибо ! )
Хоть и являюсь студентом инкубатора, все равно именно этот курс мне дает максимум профита
spasibo za urok - React JS - практика, button disabled (follow\unfollow)
Спасибо за труд!!
button disabled, disabled={true}
Оформил подписку на 3 года)) Для лучшего сенсея по React не жалко! Идея курса реально крутая, собственно как и идея инкубатора! Димыч ты лучший! Если с помощью твоего курса дойду до трудоустройства, то однозначно первую зп потрачу на поддержку твоего проекта))
Спасибо, Саня, большое!!!
100% дойдёшь до конца!!!🙏
Привет, дошел?)
API, JS, TS,ajax
State, Store, Dispatch ,Connect, Action, Route, Provider, Reducer, mapStateToProps, mapDispatchToProps, {...state}, Props React
Redux ,withRouter
Практика, cookie,login
follow-unfollow api
JavaScript
курс React
DAL, axios.create
Веб разработка
разметка
best of the best!!!
Спасибо за урок :)
это нереально запомнить и сделать самому, пришлось все под копирку, надеюсь дальше это можно будет упростить
Оформила подписку вообще без вопросов! Огромное тебе спасибо) лайк
learning react is awsome with u) Самураи, летим в космос!
Оплатил вчера подписку на 3 месяца) Спасибо Димычу за уроки!
Thanks!
The best lessons of React & Redux!!!
React , Redux, State, Store, Dispatch ,Connect, Action, Route, Reducer, Props, button disabled
Курс топовый !!!!
Димончик красаучик)
React, Redux
Оформил годовую подписку.. Честный труд должен справедливо оплачиваться!. По React, Redux, Axios - это лучший курс в рунете!
p.s. Кстати, ни у кого нет кряки для WebStorm? )))
спасибо за видео, пошел погружаться в базу. Спасибо Димыч, летим . API купил хоть пока маленькая копеечка, но все же.
Очень хорошее объяснение! API проплатил иначе невозможно нормально работать и идти дальше! Да и как не отблагодарить за такой курс! Спасибо еще раз !!! Летим дальше 🚀 #api #filter #some #reduce #reactjs #реакт #редакс
Спасибо!!! Лучший курс по React!!!!!
Спасибо Димыч , посмотрел про button disabled с 10 по 20 минуту - 6 раз.
Спасибо за уроки
Димыч отличный прием решения проблемы с атрибутом disable для кнопки. Положил его себе в копилочку, и радуюсь! Спасибо бро! Летим
Круто. Оформил подписку на 3 месяца. Димыч, ты крут
Лучшее объяснение React JS - практика, button disabled (follow\unfollow)
Спасибо за такой крутой курс. Оплатил подписку на api и patreon
Спасибо за урок!!! #disabled #axios #reactjs
тупая кнопка не disablится, аоаоаоаоао. Но всё равно собралась пересматривать, потому что тяжеловато разобраться, какой toggle... за что отвечает в конечном счёте, и надо вспомнить, за что отвечает isFetching и почему мы его сюда присобачиваем как ни в чём ни бывало.... Всё ещё лучший курс по React redux reducer dispatch )
React JS - практика, button disabled (follow\unfollow) спасибо все как всегда четко)
Двигатель греется, но по сути, все (еще) понятно. Надо бы и map() пересмотреть попутно. СЛОНА СЪЕДАЮТ ПО КУСОЧКУ! Потихоньку переварим. Димыч, спасибо!
Дима, спасибо. То чувство, когда через несколько дней пересмотрел урок, и все понял! Круто
Спасибо за урок, очень нужный функционал с button disabled!)
С первого раза не зашло. Повторил 2-3 раза, погуглил some, потренировал, проанализировал.. и все ок! Фшух-фшух летим дальше. Супер курс по React!
Реально круть. Голову выносит дебаггинг, особенно когда ошибся в каком-то не очевидном месте, например переключение isFollowingProgress не в ответе .then а после него. Очень крутой курс. Димыч, спасибо тебе огромное!
Привет из 2021! Спасибо за курс еще раз, за неделю прошла 35 уроков, очень довольна!
У мене чомусь (можливо тому, що задала певний бекграунд кнопці) візуально не показувало, що кнопка задизейблена. Намагалась знайти помилку в коді, поки не вирішила по замовчуванню задизейблити і аж тоді помітила, що вона недоступна для дій, але по візуалу така як і інші. Змінила в стилях :disabled і стало все на свої місця). Урраа!! Пішли далі!
Большое спасибо за переход на светлый фон в WebStorm!!! Видно лучше реально!! :)
самый жесткий урок, на мой взгляд. Ради кнопок столько чехарды
Дякую)
Супер! Теперь наглядно видно как применяется и уж точно запомнится функция some. После пары раз использования фильтра и мап они врезались в память и их легко можно было как из кармана достать и применить, а вот some и every когда то прочитались и забылись. Димыч, спасибо тебе!!!
Спасибо за крутые уроки по ReactJS! Судя по просмотрам пока немногие дошли до момента монетизации, так что скоро мотивация должна пойти=Р
19.20 Ох эти Дебагеры посмеялся от души )
React, практика, button disabled (follow\unfollow). Круто!
+1 ролик в копилку. Спасибо )
Дмитрий, спасибо за урок!
Крутецкая аналогия в конце)
Отличный урок. React, Redux, Ajax, JavaScript, JS.
Димыч я как устроюсь на работу обязательно закину тебе спасибо$$ в очень щедром количестве, сейчас попросту возможности нет, очень благодарен тебе и твоему труду!!! Даже не знаю где бы я учил эти все технологии если бы не этот курс. Очень благодарен за бесплатный но ооооооочень ценный контент.
С манипулированием айдишника было туговато, но после пересмотра видео и самостоятельного обдумывания в течение получаса вроде все стало на свои места) Спасибо, Димыч)
От души Димыч! ❤
все супер, упустил момент когда изменился followingInProgress: с false на [], не мог понять почему TypeError: props.following InProgress.some is not a function
пока нашел причину, урок усвоил в рази лучше))
Спасибо Димыч! Апишку проплатил, как получу первую зп - куплю на три года сразу) Для ранжирования: disable buttons follow/unfollow while sending the axios.get request to the server, arr.some() - DONE, React, Redux, state, store, improve UI/UX
Комментарий и лайк!
React, Redux, API, JS, TS, best of the best, DAL, axios.create, promise, react, redux. Димыч - респект
Отлично! Спасибо огромное за труд! Насчет зп джунов, кстати! Видел вакансии, где джунам обещали от 50-80 тыс. руб, даже 120 видел, но при условии, что быстро прокачаешься на миддла...
Спасибо за твою работу, Димыч! React JS, button disabled
Димыч спасибо!
Сложная цепочка кода в этом видео для казалось бы каких-то ссаных кнопочек))), надеюсь разрулится в последующих видео.
Лучший курс React Redux button disabled (follow\unfollow)
крутоо, спасибо !! react, button disabled =)
Плюс для лучшего ранжирования! =)