【发布时间】:2020-01-21 07:11:14
【问题描述】:
我知道如何使用 Styled Components 进行响应式道具,但我不知道如何实现它。我的想法是这样的:
<MyComponent
sm={{color: 'red', bg: 'green', }}
md={{color: 'yellow', bg: 'orange' }}
/>
在这种情况下,color 和 bg 只是我在样式化组件中设置的道具:
我的想法是我有一个用于特定媒体查询的顶级道具,并且在其中我有一个充满道具的对象,其值是我想在该媒体查询中设置的道具。
现在,我知道如何检查 props 的 color 和 bg 了——比如,像这样:
const MyComponent = styled.div`
${props => props.color && `color: ${props.color};`}
${props => props.bg && `background-color: ${props.bg};`}
`
但是我可以做这样的事情吗:
const MyComponent = styled.div`
${props => props.sm && MEDIA_QUERY_WITH_OBJECT_WITH_COLOR_AND_BG_PROPS}
${props => props.md && MEDIA_QUERY_WITH_OBJECT_WITH_COLOR_AND_BG_PROPS};`}
`
或者有什么方法可以做到这一点?
【问题讨论】:
-
它只是一个字符串操作,是的,它可能
-
一切皆有可能,但你应该做一个更好的例子,
MEDIA_QUERY_WITH_OBJECT_WITH_COLOR_AND_BG_PROPS长什么样子?尝试显示预期的行为
标签: javascript reactjs styled-components react-props