Как мне указать тип потомков для стилевых компонентов React Native? - PullRequest
0 голосов
/ 13 февраля 2019

Если я создаю стилизованный компонент, подобный этому:

const Wrapper = styled(View)``;

и пытаюсь использовать его и передавать ему дочерние элементы, я получаю эту ошибку TyepScript:

Type '{дети: Элемент [];} 'не имеет общих свойств с типом' IntrinsicAttributes & Pick, "style" |"hitSlop" |"onLayout" |"pointerEvents" |"removeClippedSubviews" |"testID" |"nativeID" |... еще 38 ... |"ref"> & Partial <...>, "style" |... еще 44 ... |"ref"> & {...;} & {...;} '.

, если только я явно не определю тип свойства children:

const Wrapper = styled(View)<{ children?: React.ReactNode }>``;

Есть ли лучший способ или это то, что я должен делать?Кажется, что выполнение этого для каждого отдельного компонента является повторяющимся и должно иметь лучший способ.

1 Ответ

0 голосов
/ 13 февраля 2019

После нескольких недель, когда меня это раздражало, и, наконец, я решил спросить о StackOverflow ... как только я обнаружил, что PR был объединен менее двух часов назад, чтобы исправить эту проблему: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/32843

В 4.1.9 стилевых компонентов тип дочерних свойств автоматически добавляется ко всем компонентам.

...