I can do this with a styled.div
styled.div`
color: ${props=> props.color || 'black'};
`
How can I do something similar with a styled components css element?
const BlackBGCSS = css`
color: ${props=> props.color || 'black'};
`
For now my solution is to create a factory function
const BlackBGCSS = (props)=> css`
color: ${props=> props.color || 'black'};
`
I can do this with a styled.div
styled.div`
color: ${props=> props.color || 'black'};
`
How can I do something similar with a styled components css element?
const BlackBGCSS = css`
color: ${props=> props.color || 'black'};
`
For now my solution is to create a factory function
const BlackBGCSS = (props)=> css`
color: ${props=> props.color || 'black'};
`
Share
Improve this question
asked Nov 22, 2018 at 14:06
Jad SJad S
2,9956 gold badges33 silver badges49 bronze badges
1 Answer
Reset to default 21Kind of how you have it:
const myCSS = css`
background: ${({ myColor }) => myColor || `black`};
`;
const MyComponent = styled('div')`
${myCSS};
`;
Then
<MyComponent myColor="red">Hello World</MyComponent>
Hope that helps.