【发布时间】:2019-07-07 14:30:00
【问题描述】:
我有 3 个 React 组件都通过了相同的 prop isNewListingsHeader。我正在使用样式化组件进行 CSS 样式化。我想知道是否有一种更简洁的方法可以将此道具传递给 3 个不同样式的组件 SortBarWrapper、SortOptionsWrapper 和 SortOptionsWrapper,这样我就不必每次都定义 isNewListingsHeader。
// Styled Components
const SortBarWrapper = styled.div`
position: relative;
${props => !props.isNewListingsHeader && `
height: 100px;
`}
`
const SortLineWrapper = styled.div`
width: 100%;
${props => !props.isNewListingsHeader && `
position: absolute;
bottom: 0;
`}
`
const SortOptionsWrapper = styled.div`
box-sizing: border-box;
${props => !props.isNewListingsHeader && `
padding-bottom: 24px;
padding-top: 32px;
`}
`
render () {
return (
<SortBarWrapper isNewListingsHeader={this.props.isNewListingsHeader}>
<SortLineWrapper isNewListingsHeader={this.props.isNewListingsHeader}>
<SortOptionsWrapper isNewListingsHeader={this.props.isNewListingsHeader}>
// Display Sort Options
</SortOptionsWrapper>
</SortLineWrapper>
</SortBarWrapper>
)
}
【问题讨论】: