в Реакте:
в дочерний компонент либо функцию нужно передать данные в виде объекта. В качестве таких данных выступает объект props родительского компонента. Суть в том, что пропсы родительского компонента могут быть избыточными относительно дочернего компонента/функции, которым я эти данные передаю.
Как в таких случаях грамотно поступать? Сейчас вижу только вариант, как на втором изображении — это норм?
От того что есть лишние поля никаких проблем не будет, главное что бы нужные совпадали Еще экстендить можно в этом случае
Это да, вопрос в том, как это описать по науке? Как на втором скрине нормас?
Нет, в первом скрине ок
Первый скрин будет возвращать ошибку, потому что в типе TCaption не описаны поля avatar и country
Нет не будет
Type 'TProps' has no properties in common with type 'TCaption.
Ошибся где то, только что сделал тоже самое все ок https://www.typescriptlang.org/play?strict=true#code/C4TwDgpgBAGlC8UDeVgQM7AIwC4oDsBXAWwCMIAnAGlQ2ACY9MKBLfAcygF8AoUSKAE0EyNJlwES5arUyMozNuxpjgAZjxEylFXQAseABQBKeAD4AbgHsWAE248eAM0L4AxsBZX8UAB6GwCiswdDwYY2QoCghgQgofQOD0ADpVLAdnVw8vHxAAoJC8QQikHihyqJi4n39EkOMeLiA
хм, спасибо, щас перепроверю
И такое чаще всего стараются делать без дублирования, у тебя Props extends Caption должно быть
В моём приложении это очень геморройно будет. Там суть в том, что есть функция-хэлпер для генерации цсс БЭМ-классов, эта функция используется практически во всех реакт-компонентах. Собственно в этот хэлпер и передаётся объект props целиком.
В ts структурная типизация, так что главное что бы совпадающие поля совпадали
Обсуждают сегодня