Важное примечание к видео! На видео используется react-hook-form вероятно 6-ой версии. В 7ой версии произошли важные изменения. Чтобы код работал необходимо внести изменения. У инпутов: ref={rregister} заменить на {...register('fiieldName')} при вызове useForm const {register, handleSubmit, errors} = useForm({mode: 'onBlur'}); заменить на const {register, handleSubmit, formState: {errors}} = useForm({mode: 'onBlur'});
@arturseu3 жыл бұрын
Спасибо бро
@МаксимИванов-ф8р3 жыл бұрын
Ну красавчик, объяснение на высшем уровне. У тебя явно есть способности к обучению.
@Datomezz3 жыл бұрын
Не знал что Тэон Грейджой на Реакте пишет 😂
@liliianigthfury3 жыл бұрын
Ахахахах ))))
@trimmtrabb76292 жыл бұрын
Пошутил, а человек больше видео не выпускает)
@Datomezz2 жыл бұрын
@@trimmtrabb7629 пздц, знал бы не писал :d
@AE-bx7nm4 жыл бұрын
Спасибо за твои видео, действительно качественный контент, подходит не только для начинающих, продолжай в том же духе!)
@ТаяКузнецова-г5ь2 жыл бұрын
Спасибо за видео. На просторах youtube часто не хватает материала для уровня чуть выше базового, а здесь освещены и непростые моменты с формами
@sergei_sergeevu44 жыл бұрын
Спасибо, вам большое за ваш труд. Было бы круто, если бы вы продолжили снимать видео на русском)
@Nikitosss914 жыл бұрын
Очень круто, жаль, что забросил. вот если бы раз в месяц бомбил бы такие видосы, со всякими сверхпопулярными компонентами... вот это контент был бы
@strel92 жыл бұрын
у кого не работают роуты, react-router-dom обновился и надо заменить Switch на Routes, еще component заменить на element и в фигурных скобках в элементе название роута оборачивать < /> вот : In react-router-dom v6, "Switch" is replaced by routes "Routes". You need to update the import from import { Switch, Route } from "react-router-dom"; to import { Routes ,Route } from 'react-router-dom'; You also need to update the Route declaration from to
@denisu928610 ай бұрын
классное объяснение про сложные вопросы React Hook Form. Спасибо!!!
@АлексейАлексеев-ю3ъ4 жыл бұрын
Очень крутое видео. Побольше бы таких.
@ibragimbazarbaev54673 жыл бұрын
У кого ошибка "TypeError: path.split is not a function in react", перепишите ref={register} на {...register('firstName')}. В новой версии библиотеки произошли изменения.
@olegsoul60163 жыл бұрын
Очень хороший туториал для построения формы) Единственный момент, когда я начинал смотреть, то почему-то подумал, что тут нужны только знания азов React и парочки базовых Хуков, но... как оказалось, предполагалось уверенное знание React, включая Реакт Роутер и знание библиотеки стилей и ее базового синтаксиса... В итоге далеко не все понял, но видео, очевидно, не было рассчитано на совсем начинающего React разработчика, так что наверное проблема понимания - это уже моя проблема) И да, насколько я понимаю, автор видео очень занят, ибо не отвечает на комментарии... В любом случае, спасибо за контент и буду рад другим урокам и гайдам по React.
@Kirdaro3 жыл бұрын
Да на самом деле час потратить на документацию и все. Там много хороших примеров и все не так сложно как кажется.
@incredible9864 жыл бұрын
Очень классный материал, спасибо большое Максим)!
@darafrontend2 жыл бұрын
Спасибо за это видео! Профессионально и информативно. Успехов Вам!
@Кофей-й8х3 жыл бұрын
Для тех у кого ошибка Path.split is not a function нужно поменять ref={register} на {...register('firstname')}
@sergeysamius11283 жыл бұрын
Спасибо, добрый человек.
@АнтонАнтуськов-е7о Жыл бұрын
Большое спасибо! Офигенный видос!
@tot-medved4 жыл бұрын
Тоже думаю перейти на реакт хук форм. Спасибо за видео.
@sombert10543 жыл бұрын
Огромное спасибо за ваше видео, оно мне очень помогло! Лайк и подписка обязательно.
@michaeldevichenskiy45884 жыл бұрын
Привет! Только что подписался на вас . У вас отличный английский .
@thedimasss3 жыл бұрын
Отличный пример работы! Спасибо
@evgeniybudaev16903 жыл бұрын
Классное видео! Спасибо Вам за труд!
@ОлегПетров-п4у3 жыл бұрын
Спасибо за качественный контент! Лайк, подписка!
@АлександрБулах-и6с3 жыл бұрын
Step3 не выводит список файлов из Dropzone! Приложение падает. Исправляем: в файле FileInput компонент Controller -> render={({onChange, onBlur, value}) поменять на render={({field: {onChange, onBlur, value} }). А чтобы исправить warning добавьте в Controller значение shouldUnregister={true}
@olenakunina1 Жыл бұрын
спасибо - это капец - у всех остальных что ли и так получилось - имею в виду тех кто уже пытался это воплотить на более поздних версиях реакта
@ff1cer___hernandez11 ай бұрын
@@olenakunina1на 20 версии node js, вообще не запускается репозиторий с его гита
@maxim76033 жыл бұрын
Спасибо, классное видео, про тестирование было бы интересно
@suslikest37084 жыл бұрын
Даа мощная форма, у меня как-то в такой на каком-то шаге была динамическая таблица с инпутами и крадами 😅
@olgasinenkova4782 жыл бұрын
Привет всем из 2022! Мучалась с forwardRef и register, не работала валидация по блюру (менно с компонентов mui ). Перешла на компонент , описан в документации react hook form. Все работает!
@ПолинаШило-й5г2 жыл бұрын
Olga, а makeStyles у вас работает?
@olgasinenkova4782 жыл бұрын
П.С. Для валидации номера телефона тоже лучше использовать проп rules у контроллера и аналогичную функцию
@ff1cer___hernandez11 ай бұрын
Подскажите пожалуйста, какую версию node js вы использовали?
@olgasinenkova47811 ай бұрын
@@ff1cer___hernandez >=6.9.0
@dmitriystoyanov9334 жыл бұрын
Уже немало времени занимаюсь изучением реакта, но это понимается очень тяжело. Очень много инструментов задействовано. А в целом хороший материал.
@dmitryshilov64132 жыл бұрын
Тема из укрока + разные гаммы: 1. Material theme ocean high contrast 2. Community material theme ocean high contrast (чуть гамма подкручена) 3. Оcean high contrast (отдельная тема, не из пака material, для любителей тёмного) gl =)
@МихаилДжекович-л1щ2 жыл бұрын
Cпасибо мужик)
@mk3mk3mk2 жыл бұрын
спасибо! Интересует вопрос, почему в некоторых случаях пишут файлы компонентов с расширением jsx, а в других случаях с расширением js. Ведь и там и там мы используем jsx. Что тогда меняет расширение?
@Goddamn_Right9 ай бұрын
1:04:59 "И вот тут интересно. Если мы сейчас оставим телефон введенным... снимем галочку..." то на 1:05:13 увидим в таблице введенный ранее номер, хотя галочка снята. Надо очищать стейт с номером телефона при снятии галочки
@mikhailrypta47793 жыл бұрын
Если у кого то не работает 3 шаг с файлами - замените строку render={({ onChange, onBlur, value }) => () на render={({ field: { onChange, onBlur, value } }) => ()
@rebelliondreamer62613 жыл бұрын
Я кстати так и сделал, но проблема в другом немного, он у меня почему-то вообще не выводит Finder (Проводник) при нажатии по карточке, для выбора файла
@trionixchannel24352 жыл бұрын
спасибо🤜
@adamsden4 жыл бұрын
Thank you so much for the lesson.
@deadwalkru3 жыл бұрын
Годно, ставлю лукас
@armenchik_dzhan3 жыл бұрын
thank you super useful lesson, do more of these!
@АлександрОсипов-ъ7н2 жыл бұрын
Здравствуйте! Вопрос по работе с инпутами ---Общее положение дел У меня есть коллекционные карточки Карточка с одним изображением может издаваться на разных языках Ранние выпуски карточек издавались на меньшем количестве языков ---Что хочу сделать Хочу сделать учет карточек не только по конкретному изображению, но ещё и по языкам ---Как я представляю хранение карточек ИД - итерируемое ИД_выпуска - Номер выпуска, к которому принадлежит карточка Название_карточки - скажем так... наименование того, что изображено Языки - текст, состоящий из "0" и "1", где каждому языку соответствует конкретная позиция. "1" означает, что есть карточка с этим языком ---Как я это вижу на странице На странице отображается инпуты по количеству "1" в поле "Языки", куда я записываю количество карточек. Нажимаю на кнопку сохранить. Данные сохраняются. ---Вопрос Как эти импуты описать и как к ним обращаться для получения данных?
@strongcat8443 жыл бұрын
2 раз делаю подписку и на кого то спасибо за видео
@Elator117774 жыл бұрын
А репо будет на гитхабе?
@YuriiKratser3 жыл бұрын
Уважаемая публика, сейчас нужно yupResolver доставать из @hookform/resolvers/yup, а ошибки получать из formState:{ errors }
@lordunitaz3 жыл бұрын
Спасибо!!
@ЛюбовьЛенская-и3ц2 жыл бұрын
Спасибо!
@kulivers19983 жыл бұрын
Спасибо!
@oleksandrluchytskyi68672 жыл бұрын
а useCallback() там не нужні?
@happyhomo44233 жыл бұрын
Как добавить емодзи единорога и коробки?
@YuriiKratser3 жыл бұрын
Уважаемый автор видео, обнови его пожалуйста. Твой код устарел безнадежно. Для кастомизации сейчас нужно использовать Controller.
@ПавелСедой-р5п4 жыл бұрын
Очень круто. Будут ещё видео?)
@VorobyevAlexander3 жыл бұрын
Ни как не могу победить чекбокс есть/нет телефон для актуальной версии react-hook-form как исправить код в видео?
@mnsr_il47633 жыл бұрын
В FormControlLabel ваш control должен выглядеть следующим образом: _control={}_
@chikada33014 жыл бұрын
Было бы неплохо, если бы вы записали пример формы, но, которая сохраняется в json.
@memphis22342 жыл бұрын
Подскажите какой плагин для форматирования используется либо какой язык выбран в форматировании
@strel92 жыл бұрын
prettier скорее всего
@iCars-ua4 жыл бұрын
Привет 🙋♂️ А подскажи плиз extension который autocompleting css ты используешь vscode :)
@viktok5554 жыл бұрын
Здравствуйте, Максим🙌 Можно связаться с Вами в соцсетях? Спасибо 👍
@evloev48213 жыл бұрын
изначально на показе страницы, 1:14 вроде маска +1 вводилась автоматом, только ради этого смотрел видео на перемотке, а в итоге про маску ни слово
@МихайлоАндрейців-з9у4 жыл бұрын
Привет!спасибо за видео Реакт форм хук, revalidate mode onChange, при ошибке когда вводишь, текст не отображает, будто зависает, и в стейт не сохраняется
@adletibraimov29674 жыл бұрын
Бро, каким расширением пользуешься для форматирования?
@saveliy.d_13 Жыл бұрын
За 2 года произошло столько изменений, что большая часть того, что объясняется в видео, уже не работает. Даже не буду расписывать, слишком длинно получится. Так что совсем не для новичков, потому что надо хорошо понимать, что вообще происходит, уметь разбираться в документации. По сути просто идея, которую наполовину надо реализовать самому. Если хотите, чтобы код работал, найдите другое видео)
@ayaznamazov8328 Жыл бұрын
можешь скинуть видео
@voiceofzimbabwe71744 жыл бұрын
Привет. Как сейчас ай ти сфера в Швеции? Сколько в среднем может получить тестировщик в год?
@gigor14332 жыл бұрын
Почему бы не использовать контекст форм и не сделать самостоятельные Input'ы, которые бы всё необходимое брали из контекста? Не надо будет в каждый элемент передавать 100500 пропсов
@alexshostka32294 жыл бұрын
Круто. Спасибо за инфо. Подскажи, что за тема на VSCode? Такую же хочу поставить
@vlatypov4 жыл бұрын
В компоненте PrimaryButton ошибочка c rest параметрами -> надо вот так export const PrimaryButton = ({children, ...props}) =>{}
@lirrr65554 жыл бұрын
Спасибо за видео. Заметил, что у вас при onblur событии, даже если поле не начинали заполнять, появляется ошибка. Подскажите, как можно в react-hook-form отключить onblur валидацию пустых полей до попытки submit?
@andrewS852 жыл бұрын
Наверное уже не актуально) напишу для тех кто будет читать - можно использовать onChange
@artemgum45174 жыл бұрын
Интересно получилось) Жаль нет репозитория, с сервером поиграться.
@ievgeniibielkin3 жыл бұрын
Спасибо! Видео было полезным. Интересно как можно передать состояние формы ( formState из useForm ) за пределы формы. Например, если нужно дизейблить кнопки в модальном окне или показывать индикатор выполнения, когда форма сабмитится
@АндрейЧерников-н2щ3 жыл бұрын
любой state manager решит твою проблему
@KalinachenkoTV4 жыл бұрын
Уже разобрался, спасибо за часть с файлами и драг енд дроп, жаль что ссылку забыл добавить. Кст почему на своем англ канале так часто видео и с ссылками на гитхаб а тут так???? Вроде как руская аудитория тоже понемножку набирается)
@mr.younger4 жыл бұрын
Очень годный туториал, но есть парочку моментов, которые, было бы вообще здорово, если вы рассмотрите как развитие данного туториала. Вторая, более короткая серия так скажем. 1. Зачем было добавлять в проект пакет "material-ui" который deprecated и уже минимум 2 года не поддерживается? Тем более что в проекте он задействован не был. 2. Поработать со страницей result, выводя в таблице не field name, а более осмысленный title для каждой строки. 3. Недоработка с телефоном и флагом показывающим его. 3.1. Отображение статуса hasPhone на странице result? Если и отображать, то только случай false, когда телефон не был введён, и более осмысленно чем false. 3.2. Введя телефон, затем, заполняя форму по второму кругу, отключить если флаг hasPhone, то в итоговой форме телефон всё равно отобразиться. 4. Возможность перезагрузить страницу на любом этапе из формы. Если этап будет отличен от первого, то это почти 100% необходимость делать start over чтобы заполнить предыдущие шаги. Или начинать с первого этапа, или хранить промежуточное состояние в localStorage. Не считая первого пункта, кейсы то реальные, и недопустимы в production приложении. В остальном шикарно.
@Elator117774 жыл бұрын
material-ui depricated?? Откуда такая инфа? Как не использовали, если все текстинпуты, иконки оттуда взяты были?
@mr.younger4 жыл бұрын
@@Elator11777 специально в кавычки название пакета взял. www.npmjs.com/package/material-ui вот. Красным по розовому написано. 2:52 вот здесь он добавляется в проект. И именно этот пакет не был использован. Про @material-ui/core я ни слова не сказал :)
@Elator117774 жыл бұрын
@@mr.younger Спасибо. Не знал.
@azimabdullayev98323 жыл бұрын
Согласен, что в production не допустимы. Но тут в production никто заливать не собирался, это ведь туториал, причем очень хороший. твои доработки это лишь дело техники.
@Котвсапогах-с4д3 жыл бұрын
Что у тебя за темя в vs code
@snd55433 жыл бұрын
селектов не хватает)
@tetianashevchuk81142 жыл бұрын
У меня вообще не работает чекбокс и контролер формы. Есть кто с 2023?
@danielkhachaturian3 жыл бұрын
Какая тема у тебя?
@v.demchenko2 жыл бұрын
Устрели библиотеки. Нужно все перебирать, переустанавливать.
@ВячеславСаврацкий3 жыл бұрын
по факту, если разобраться, в создании отдельных компонентов по типу (Form, Input и тп) только ради стилей нету необходимости. просто используйте styled-components или подобные подходы, так мы не перегружаем систему "глупыми" компонентами, а еще код пишется быстрее и чище. имхо
@AlexSizovRun3 жыл бұрын
Чел ну вернись, правда
@AlexSizovRun3 жыл бұрын
Не ну ты вернись
@МаксимИванов-ф8р3 жыл бұрын
Зачем ты меня вводишь)
@b-ars074 жыл бұрын
Максим, привет! А можно ссылочку на репозиторий с сервером?
@ОксанаГаращенко-д5р2 жыл бұрын
с тайпскриптом заняло бы 2 часа)
@lordunitaz3 жыл бұрын
FileInput очень сложный для понимания. Такие макароны....
@Александрндреевич3 жыл бұрын
26:50 /[a-z]/i/ Вроде так можно
@Лемми-ц8ш Жыл бұрын
Кабину проще
@АлександрЛитвинов-в1и Жыл бұрын
ПОЛ ВИДОСА НЕ ПО ТЕМЕ БЛЯТЬ И ТАЙМКОДОВ ДАЖЕ НЕТ - ЖИРНЫЙ ДИЗЛАЙК!!!
@НікітаКорчемний-г4ч9 ай бұрын
видео 2020 года если что, автор давно забыл про канал, а в то время таймкодов даже не было
@apexnuts97853 жыл бұрын
Очень много лишних библиотек, для новичков ничего не понятно
@ammoney1593 жыл бұрын
Самый плохой курс, который я когда нибудь видел. Если сами не знаете, почему снимать курсы. Дизлайк.