Weboldal keresés

reactjs - A 'name' tulajdonság nem létezik a ThemedStyledProps típuson


Hibát kapok

A 'name' tulajdonság nem létezik a 'ThemedStyledProps, "slot" | "style" | ... 253 további ... | "css"> & { ... }, any>' típuson.

A kódrészlet használatakor

// 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};
\`;

hibát kapok azon a soron, ahol a props.name, props.size, props.transform van használatban

Válasz #1

Tehát jelenleg nincs mód TypeScript-ben arra, hogy generikus típust adjunk át egy címkézett sablonsztringnek

Van néhány lehetőség. Az első az, hogy megadod a típusát a props első használatánál, és akkor a TypeScript feltételezi, hogy a többi is azt a típust használja.

háttér: $ {(props: Props} => props.theme.brand}; keret: $ {props => ...}

vagy használd ezt a withProps függvényt

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

Kapcsolódó cikkek