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