свойство top отсутствует в типе объекта [1] в первом аргументе элемента массива - PullRequest
0 голосов
/ 28 апреля 2019

Я использую поток для статической проверки типа.У меня есть компонент с именем OverlaySpinner, который принимает реквизиты, такие как top, left, loading and backgroundColor.Тип сверху и слева - число, и я также предоставил defaultProps для них.Однако я получаю ошибку property top is missing in object type [1] in the first argument of array element.

Это код

import {Wrapper, Spinner} from './styled'

const OverlaySpinner = ({
  left,
  top,
  backgroundColor,
  loading,
}: {
  left?: number,
  top?: number,
  backgroundColor?: string,
  loading: boolean,
}) => {
  if (!loading) return null

  return (
    <Wrapper left={left} top={top} backgroundColor={backgroundColor}>
      <Spinner />
    </Wrapper>
  )
}

OverlaySpinner.defaultProps = {
  left           : 0,
  top            : 0,
  backgroundColor: 'rgba(0,0,0,0.3)',
}
export default OverlaySpinner


styled.js

import styled, {type ReactComponentStyled} from 'styled-components'

type WrapperPropTypes = {
  left: number,
  top: number,
  backgroundColor: string,
}

export const Wrapper: ReactComponentStyled<WrapperPropTypes> = styled.div`
  z-index: 2;
  position: fixed;
  top: ${({top}) => top}px;
  bottom: 0;
  left: ${({left}) => left}px;
  right: 0;
  background: ${({backgroundColor}) => backgroundColor};
`

Снимок экрана выпуска

enter image description here

...