media-queries - 媒体查询和样式化组件
问题描述
我喜欢将所有媒体查询放在一个地方,通常在 App.css 文件中,因为当我想根据大小更改某些内容时,我会立即看到所有涉及的组件。
我正在寻找一种使用样式组件的好方法。样式通常附加到定义样式组件的文件中。我不想使用包装器来用 className 来引用它们。
有人有处理这个问题的好方法吗?
解决方案
经过讨论,提出了以下解决方案:
const reducer = (accumulated, [condition, css]) =>
accumulated +
`
@media(${condition}) {
${css[componentName]}
}
`
const addMedia = componentName => Object.entries(theme.media).reduce(reducer, "")
现在您将所有媒体查询放在一个地方,您只需通过以下方式将它们添加到样式组件中:
${addMedia("componenName")}
推荐阅读
- python - 无法使用 networkx 和 d3 创建图形链接/边
- java - 如何在函数式接口和方法引用上下文中的函数之间解释参数和参数
- javascript - 流星集合 fs 禁止上传
- terminal - Gitlab CI 管道的输出写入哪个设备?
- algorithm - 给定相似度分数的最佳匹配项目对的算法
- php - 在 1 到 100 的范围内生成 3 个唯一的随机数
- terraform - 在 Terraform 模块定义中合并地图
- vb.net - 将 WinForms 应用程序转换为类库时,对启动对象的引用失败
- sql - SQL查询,根据另一列最高值删除重复条目
- ubuntu - 无法在 Ubuntu 中卸载量角器