如何使用带有样式组件的逻辑类

Posted

技术标签:

【中文标题】如何使用带有样式组件的逻辑类【英文标题】:How to use logic classes with styled components 【发布时间】:2021-12-11 22:51:11 【问题描述】:

我想用这个逻辑将对应的类应用到一个元素上:

<ul onClick=handleClick className=click ? 'dropdown-menu clicked' : 'dropdown-menu'>

但我使用的是样式化组件,我不明白如何使用逻辑来完全改变组件。有任何想法吗?我正在使用 Next.js

【问题讨论】:

【参考方案1】:

您可以将函数(“插值”)传递给样式化组件的模板文字,以根据其 props 对其进行调整。

阅读样式化组件文档中的Adapting based on props 部分。你的情况,因为你没有提供代码的细节,我只能举个例子:

const DropdownMenu = styled.div`
  display: $props => props.clicked ? "none" : "block";
`;

【讨论】:

以上是关于如何使用带有样式组件的逻辑类的主要内容,如果未能解决你的问题,请参考以下文章

如何在反应中使用带有样式组件的 document.getElementById()?

如何在 React 上正确使用带有样式组件画布的 TypeScript 类型

如何在使用 TypeScript 的 create-react-app 中使用带有 babel 插件的样式化组件?

如何在 next.js 中使用带有样式组件主题的 window.matchMedia?

如何在样式化组件中使用类

React Material Design:在类组件中使用带有 redux 的 React Material Design 自定义样式