是否可以将道具传递给样式化组件的 "css" 元素?

Is it possible to pass props to "css" element of styled components?

我可以用 styled.div

styled.div`
    color: ${props=> props.color || 'black'};
`

如何对样式化的组件 css 元素执行类似的操作?

const BlackBGCSS = css`
    color: ${props=> props.color || 'black'};
`

目前我的解决方案是创建一个工厂函数

const BlackBGCSS = (props)=> css`
    color: ${props=> props.color || 'black'};
`

你的情况如何:

const myCSS = css`
    background: ${({ myColor }) => myColor || `black`};
`;

const MyComponent = styled('div')`
    ${myCSS};
`;

然后

<MyComponent myColor="red">Hello World</MyComponent>

希望对您有所帮助。