假设我有一个包装器组件,其中包含一些其他组件:
const Card = styled.div`
background-color: ${props => props.selected ? 'green' : 'none'}
`
<Card>
<Header>
<Logo/>
</Header>
<Footer/>
</Card>
它们都是样式化的组件。如您所见,当我将selected
道具传递给它时,卡片变为绿色。如何根据传递给的道具更改样式?
例如,在纯CSS中,我是这样的:
.card.selected {
background-color: green;
}
.card.selected .logo {
opacity: 1;
}
在样式化组件中复制此行为的最佳方法是什么?我不喜欢将selected
道具传递给的所有子项的想法。
答案 0 :(得分:1)
答案 1 :(得分:0)
<Card style={ { backgroundColor: props.selected ? 'green' : 'none' } }>
<Header>
<Logo style={ { opacity: props.selected ? '1' : '0.5' } }/>
</Header>
<Footer/>
</Card>