@Kyki4

Что такое опора в TypeScript React?

Я недавно начал изучать TS и задался вопросом как кастомному компоненту Button передать все свойства обычного button, с чем я справился, однако постоянно попадался на понятие "опора" на многих сайтах и, не смотря на примеры кода, так и не понял что это конкретно.
Примеры из контекста:

Расширение интерфейса
Это то, что мне потребовалось некоторое время, чтобы изучить, но очень помогает в создании управляемых интерфейсов. Давайте добавим поддержку передачи любой другой ОПОРЫ кнопке. Может показаться, что легко добавить [key: string]: anyв интерфейс, чтобы упростить его, но вместо этого мы должны расширить наш интерфейс с помощью правильного интерфейса кнопок из React, чтобы получить полные типы.

60eb21a0b9130838594412.png

Передача тега в качестве ОПОРЫ:

<ChildComponent tag="h1" />

А также связанно ли это понятие именно с TS || React или оно мне просто до этого не встречалось.

Сайты где я на это натыкался:

1 пример 1 (нужен VPN)

2 пример 2

3
  • Вопрос задан
  • 138 просмотров
Решения вопроса 1
@acwartz
Тут должна быть ваша реклама.
coderoad, quora и прочие подобные русскоязычные Q&A это клоны англоязычного Stackowerflow в машинном переводе, при том очень и очень убогом. У SO есть русскоязычный раздел, но его почему-то не копируют.
Вторая ссылка на самом деле вот это: https://stackoverflow.com/questions/51871080/can-i... и становится понятно что вопрос звучит так "Как пробросить тег HTML как значение атрибута и далее использовать его как свойство(prop)?"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Aetae
@Aetae Куратор тега TypeScript
Тлен
Хз, никогда не слышал. Правда читаю по теме практически исключительно на английском.)

А в остальном суть проста: JSX - это диалект js, несмотря на html-подобную запись - это явный и без особых хитростей javascript. А значит к нему применимы все возможности TypeScript. Надо разный набор props в зависимости от одного конкретного - юзай union и дженерики, надо получить набор свойств какого-то чужого компонента - юзай React.ComponentProps<typeof ForeignComponent> и т.д. и т.п.
Ответ написан
Комментировать
Kozack
@Kozack
Thinking about a11y
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы