Вы можете сделать фон условным, исходя из того, какие реквизиты вы передаете. Ниже приведен пример, когда div изменяется в зависимости от множества различных условий.
const Container = styled.div`
background: blue;
&:hover {
background: ${props => props.shouldHoverRed
? 'red'
: props.shouldHoverGreen
? 'green'
: props.shouldHoverOrange
? 'orange'
: 'blue'
};
}
`
по умолчанию синий цвет и в зависимости от пропущенного пропеллера он будет отображать различные цвета для фона при наведении.