Тёмный
No video :(

Типизация неуправляемой формы в React 

Михаил Непомнящий
Подписаться 61 тыс.
Просмотров 8 тыс.
50% 1

Типы React формы. Смотрим как можно работать с неуправляемой формой без использования рефов и как это возможно с TypeScript.
Код из видео codesandbox.io...
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru...
paypal.me/mish...

Опубликовано:

 

4 окт 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@gregpozdnykov3539
@gregpozdnykov3539 Год назад
Спасибо за видео, реакт + тс - мастхэв, при этом не так уж и много хороших пособий об этом. Хотелось бы в будущем увидеть что-то о типизации хуков.
@victormog
@victormog Год назад
Кратко, качественно и по существу! Однозначно, буду использовать в своих проектах (вместо кучи useState)
@andrewsam224
@andrewsam224 Год назад
Cпасибо, огромное Михаил!!! Снимайте ещё, очень доступно объясняете. Вы делаете этот мир лучше!!!
@alexles5003
@alexles5003 11 месяцев назад
Интересный подход спасибо
@nikolaysmolov8031
@nikolaysmolov8031 Год назад
Михаил, спасибо за видео! Инфа годная, рассказываешь хорошо, приятно слушать. Успехов!
@protonys
@protonys Год назад
Это просто класс! Спасибо!
@user-nh6wb3op5j
@user-nh6wb3op5j Год назад
ой какая же круть, супер полезный контент, низкий поклон правда, на курсах даже не найдешь такого)
@andrewsam224
@andrewsam224 Год назад
Я бы с удовольствием бы посмотрел уроки длинной 40+ минут. Очень качественно. Спасибо.
@andrewsam224
@andrewsam224 Год назад
Охереть как круто! Я прям кайфую от разбора.
@STELLS541
@STELLS541 10 месяцев назад
Очень классно и элегантно) 🙏🏻💪🏻
@vadymkononenko685
@vadymkononenko685 Год назад
Супер! Спасибо за видео! Лайк! #react #typescript #javascript #js #ts
@user-fk6ng8bk7s
@user-fk6ng8bk7s Год назад
Часто бывает, что названия полей в форме соответсвует названием полей в типе используемых данных формы (хоть и не всегда). Сейчас в Вашем примере Вы отдельно объявляете FormFields и LoginFormFields. И там и там одинаковые названия "свойств". Чтобы этого избежать, можно использовать такую конструкцию: type FormFields = { [F in keyof LoginFormFields]: HTMLInputElement }; Тогда, при добавлении нового поля в форму (fullName, например) нужно будет расширить только один тип - LoginFormFields
@profesor08
@profesor08 Год назад
Фактически получили дыру, так как типизация хоть и есть, но она только на словах и ничего не гарантирует. Если не окажется полей с нужными именами, то получим call property of undefined, прямо в рантайме. Тут надо типизировать сам компонент формы, чтоб в зависимости от переданного ему типа, он требовал бы наличие определенных полей с конкретным именем, ну и соответственно самостоятельно выводил бы свой тип, на основе переданных полей и их имен.
@andrewsam224
@andrewsam224 Год назад
Миша, мне кажется твоим голосом нужно вообще все обучалки озвучивать. Очень хорошо поставлена интонация, размеренно плавно уверенно. Красава!!!!
@denissorokin6823
@denissorokin6823 Год назад
При такой реализации Form, получается мы не может динамически валидировать вводимые данные, только встроенной валидацией и всю форму?
@ringnull
@ringnull Год назад
9:45 formFields откуда берется? ты его не импортишь, откуда он там берется?
@CyberGenius777
@CyberGenius777 Год назад
Эти значения приходят из полей форм при onSubmit
@ringnull
@ringnull Год назад
@@CyberGenius777 Каким образом? Я понимаю, что они туда должны приходить, но в элементе просто вызов функции без параметров. Как он понимает, что это именно те значания, которые нужны?
@CyberGenius777
@CyberGenius777 Год назад
@@ringnull почитай как форма работает
@ringnull
@ringnull Год назад
@@CyberGenius777 там где-то реф стоит и я не заметил этого или что?
@fergussawyer
@fergussawyer Год назад
@@ringnull вообще то объявляет этот тип прямо в этом файле 6:28, если все еще не понятно, то под видео есть ссылка на код из видео, открой и посмотри
@DennaRal
@DennaRal Год назад
Мерси
@lexandersuslov1745
@lexandersuslov1745 Год назад
Спасибо за видео, узнал дополнительную информацию о типизации ивентов. Попробовал воспользоваться твоим способом, но столкнулся с проблемой. При использовании Rеact Testing Library при тестировании формы в фунции обработчике handleChange падает ошибка event.currentTarget.submitBtn is undefined. Однако в браузере все работает. Пока не нашел в чем причина. Возможно ты знаешь в чем дело? UPD: Нашел решение. В моем случае нужно к искомому элементу обращаться e.currentTarget.elements.submitBtn. Но тогда сам евент достаточно типизировать как обычно, а elemets нужно типизировать как пересечение типов HTMLFormControlsCollection & FormFields
Далее
Рекурсивные типы в TypeScript
7:20
Просмотров 8 тыс.
Полиморфные React компоненты
11:53
Multistep Form Custom Hook With React And TypeScript
28:23