javascript - 使用样式组件和样式系统添加条件样式的最佳方法是什么?
问题描述
我正在尝试使用样式系统和样式组件创建一个按钮组件。
样式系统的变体效果很好,但我想知道如何添加条件 CSS。例如,我正在尝试渲染主块按钮。
const StyledButton = styled(Button)`
${props => props.block && css`width: 100%;`
`;
// primary
<StyledButton block variant="primary" />
这可以按预期工作,但我想知道是否有更好的方法可以block
用纯 JavaScript 以漂亮的方式应用。
解决方案
我认为你可以缩短你的具体例子如下(你不需要在css
那里使用方法):
const StyledButton = styled(Button)`
${({block}) => block && 'width: 100%;'}
`;
但总的来说,我相信这是唯一的方法。对我来说看起来并不难看,但是如果您有一些复杂的条件,您可能可以将一些代码移动到具有描述性名称的单独变量或函数中。
推荐阅读
- .htaccess - 通过 RewriteCond 和 .htaccess 对 RewriteRule 进行分组
- android - 缺少必需的参数“名称”并且没有 android:defaultValue
- php - Doctrine COALESCE、SUM 和 Subtract 导致语法错误:预期的 Doctrine\ORM\Query\Lexer::T_FROM, got '-'
- java - 使用 java 在 apche_beam 中编写 tfrecords
- scala - 如何使用 Kafka、Alpakka Kafka、Play Framework 和 Websocket 处理 POST 请求?
- php - 在大型数据输入期间防止 sqlite3_php 数据库锁定的最佳实践?
- java - 链接选项
- java - 使用带有抽象类的 lombok builder
- php - 如何在 phpunit 测试中期望 diff() 方法?
- javascript - 任何人都有使用 Javascript 老式 winamp 嵌入播放器的经验吗?