Я использую поток для статической проверки типа.У меня есть компонент с именем 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](https://i.stack.imgur.com/sWGlX.png)