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

Jad*_*d S 8 javascript reactjs styled-components

我可以用 styled.div 做到这一点

styled.div`
    color: ${props=> props.color || 'black'};
`
Run Code Online (Sandbox Code Playgroud)

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

const BlackBGCSS = css`
    color: ${props=> props.color || 'black'};
`
Run Code Online (Sandbox Code Playgroud)

现在我的解决方案是创建一个工厂函数

const BlackBGCSS = (props)=> css`
    color: ${props=> props.color || 'black'};
`
Run Code Online (Sandbox Code Playgroud)

Ric*_*nho 12

你如何拥有它:

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

const MyComponent = styled('div')`
    ${myCSS};
`;
Run Code Online (Sandbox Code Playgroud)

然后

<MyComponent myColor="red">Hello World</MyComponent>
Run Code Online (Sandbox Code Playgroud)

希望有帮助。