属性“名称”在ThemedStyledProps类型上不存在

时间:2020-07-30 09:05:46

标签: reactjs typescript styled-components react-props

我遇到错误

属性'name'在类型'ThemedStyledProps ,“ slot”中不存在| “样式” | ... 253更多... | “ css”>&{...; },任何>“。

使用代码段时

// Styled Components
const IconContainer: any = styled.span.attrs(props => ({
  className: `icon-${ props.name }`
}))\`
  display: inline-block;
  font-size: ${ props => props.size };
  color: ${ props => props.color };
  transform: ${ props => props.transform};
\`;

在使用props.name,props.size,props.transform的行上获取此错误

1 个答案:

答案 0 :(得分:0)

所以TypeScript当前无法将通用类型传递给加标签的模板文字

有一些选择。首先是为您第一次使用道具提供类型,然后ts会假设其余的都使用该类型

背景:$ {(props:Props} => props.theme.brand}; 边框:$ {props => ...}

或将其与Props函数配合使用

https://github.com/styled-components/styled-components/issues/630#issuecomment-317277803