Как объявить «propTypes» для styled-компонента? - PullRequest
0 голосов
/ 27 мая 2019

Я занимаюсь разработкой библиотеки реагирования, скажем, MyLib, поэтому я хочу предоставить propTypes для моих пользователей lib.Однако в сочетании с машинописными и стилевыми компонентами это приводит к следующей ошибке:

Property 'propTypes' does not exist on type 'StyledComponent<"div", any, ScrollerProp, never>'.ts(2339)

В соответствии со следующей базой кода, какой тип я должен объявить для Scroller?(В настоящее время я могу использовать только тип any для устранения ошибки компиляции)

MyLib.d.ts

export type ScrollerProp = {
  maxHeight: number,
}

MyLib.tsx

import PropTypes from 'prop-types'
import styled from 'styled-components'

const Scroller: any = styled.div<ScrollerProp>`
  overflow-x: auto;
  overflow-y: visible;
  max-width: 100%;
  float: left;
  width: auto;
  ${({ maxHeight }) => maxHeight && css`
    max-height: ${maxHeight}px;
  `}
`

Scroller.propTypes = {
  maxHeight: PropTypes.number,
}
...