javascript - 使用样式组件和样式系统添加条件样式的最佳方法是什么?

标签 javascript css reactjs styled-components

我正在尝试使用 styled-system 和 styled-components 创建一个按钮组件。

styled-system 的变体效果很好,但我想知道如何添加条件 css。例如,我正在尝试呈现主 block 按钮。

const StyledButton = styled(Button)`
  ${props => props.block && css`width: 100%;`
`;

// primary
<StyledButton block variant="primary" />

这按预期工作,但我想知道是否有更好的方法使用纯 javascript 以漂亮的方式应用 block

最佳答案

我认为你可以缩短你的具体例子如下(你不需要在那里使用 css 方法):

const StyledButton = styled(Button)`
  ${({block}) => block && 'width: 100%;'}
`;

但总的来说,我认为这是唯一的方法。在我看来并不难看,但如果您有一些复杂的条件,您可以将一些代码移动到具有描述性名称的单独变量或函数中。

关于javascript - 使用样式组件和样式系统添加条件样式的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55464164/

相关文章:

javascript - 当用户完成列重新排序时如何防止 renderHeaderCell() 调用

javascript - 限制从网站复制和粘贴的字符长度

html - 网页的宽度设置为 980px 而不是窗口的宽度。手机网站

javascript - 类型 IntrinsicAttributes 和字符串 [] 上不存在属性 'props'

javascript - ReactJS 通过 props 回调设置另一个类的状态

javascript - 我可以使用多个 for 循环通过索引访问字符串、数组中的单个字母吗?

javascript - "cycle"在 CSS 和 onmouseover、onmouseout 类上的 Rails 问题

html - 无法将面包屑项移动到右侧

html - 无序列表元素在不应显示元素符号时显示元素符号

javascript - 你能在不同的渲染和上下文中重用 React 元素吗?