代码之家  ›  专栏  ›  技术社区  ›  milan

未知类型[1]的属性top与数组元素返回值中的字符串[2]不兼容

  •  0
  • milan  · 技术社区  · 5 年前

    我正在使用流进行静态类型检查。我有一个叫做 OverlaySpinner top, left, loading and backgroundColor . top和left的类型是number,我还为它们提供了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

    0 回复  |  直到 5 年前