Потоковая типизация стилизованных компонентов реквизита не работает - PullRequest
1 голос
/ 15 апреля 2019

У меня есть этот стилизованный компонент:

type Props = {
  iconAlign: string,
};

const IconWrapper: ComponentType<Props> = styled.View`
  margin: 10px 10px 0px 10px;
  position: absolute;
  ${({ iconAlign }: Props) =>
    iconAlign === 'left' ? 'left: -35px;' : 'right: -35px;'}
`;

И назовите это так:

<IconWrapper iconAlign="left">

но Flow выдает мне следующую ошибку:

Cannot call styled.View because property iconAlign is missing in object type [1] in the first argument of array element.

"flow-bin": "0.96.0",
"styled-components": "^4.2.0",
libdef: styled-components_v4.x.x (satisfies styled-components@4.2.0)

1 Ответ

0 голосов
/ 17 апреля 2019

Похоже, что пользовательские свойства встроенного компонента в настоящее время не поддерживаются по нескольким причинам, а именно, в Flow все еще развивается поддержка теговых литералов шаблонов. Обсуждение на https://github.com/flow-typed/flow-typed/pull/2933 весьма полезно для понимания того, почему ваш пример не работает в настоящее время, и шагов, предпринимаемых, чтобы сделать это возможным.

...