TypeScript + React #8 Типизация ХОК-ов (Typing of HOCs)

preview_player
Показать описание
#YauhenK #webDev #TypeScript #React

Всех приветствую в курсе «TypeScript + React».
В данном видеокурсе мы с вами рассмотрим связку библиотеки React и синтаксиса TypeScript. Из библиотеки мы разберём типизацию функциональных и классовых компонентов, событий и элементов, методов жизненного цикла, контекста и портала и конечно же хуки. А в дополнение рассмотрим типизацию React-роутера и Redux.

✒ Репозиторий курса:

✒ Используемые ресурсы и инструменты:
lmhkpmbekcpmknklioeibfkpmmfibljd?hl=ru

✒ Полезные ссылки:

✒ Полный список готовых и планируемых курсов:

✒ Автор курса:

Рекомендации по теме
Комментарии
Автор

Для стрелочных функций дженерик принимается следующим образом <T>(arg: T): T, но в jsx к сожалению так не прокатывает, автор ролика заюзал extends object, но можно просто прописать запятую после принятого дженерика <T, >(arg: T): T и будет все отлично работать

vrg
Автор

Такой вопрос: При создании снипета как сделать 1ю букву заглавную в интерфейсе?

"React HOK": {
"prefix": "hoc",
"body": [
"import React, { type ComponentType } from \"react\"",
"",
"export interface ${TM_FILENAME_BASE}Props {",
"}",
"",
"export function ${TM_FILENAME_BASE}<BaseProps extends ${TM_FILENAME_BASE}Props>(Component:ComponentType<BaseProps>){",
" return (props:BaseProps) => {",
" return <Component {...props}/>",
" }",
"};",
""
],
"description": "React HOC"
},

singlebw
Автор

Евгений, запилите пожалуйста курс по реакт для новичков. На реальном кейсе. Например CRM или какой-то интернет магазин.
Доступно и подробно.

srt
Автор

Кстати а на счет добавить пропсам наследование as BaseProps у меня вообще VSCode отбивает "'BaseProps' is declared but never used"//// как минимум по scope точно. И код не писал, а взял с 8-ого урока. LOL. Не знаю почему у него так не ошибит

javascripttask
Автор

2:56 HoC должен вернуть компонент, который принимает те же пропсы, что и декорируемый компонент, за исключением инжектируемых пропсов, т.к. мы их все равно переопределим.

Т.е. тип пропсов возвращаемого компонента такой:

Exclude<BaseProps, keyof InjectedProps>

dimitro.cardellini
Автор

Спасибо, не понял откуда взято P и что такое & во втором примере

O-L-
Автор

Спасибо за урок!
Не вижу только ссылку на баг, можно её?

КонстантинК-юм
Автор

2 вопроса
почему WithLoading class component, not functional?
зачем весь єтот баян с типизацией?

RK-gmpd
Автор

Вопросов стало больше чем до видео)))) Но все равно спасибо!!!

mediontamginskii
Автор


На 4 минуте изображение начинает мееееееееедленно увеличиваться. А ты пытаешься читать код. А оно ползётво все стороны. А ты пытаешься читать. А голова начинает немного кружиться.
Сначала я подумала, что проблема у меня в голове, потому что слишком много часов за компом, но нет))))

АннаАндреевна-ьи
Автор

type BaseProps - нигде не используется в первом примере.

MrMnarch
Автор

А почему HOC? Это же обычный декоратор

VYuhim
Автор

Не понятно вообще для чего дан такой пример. Можно написать, что угодно в BaseProps и ни чего не изменится. Можно не передать в компонент ToggleButton ни чего и ни чего не изменится. Евгений можете объяснить, что вы хотели тут показать? Что тут делает тайпскрипт вообще такого важного?

ilyanetcach
Автор

Какой смысл TypeScript белиберда какая-то.

ЕвгенийЖ-нм