reactjs - 来自通用和模块化风格的多个类

标签 reactjs gatsby

假设我有两种不同风格的源代码,一种来自 bulma.sass,另一种来自 module.scss

这是代码

import React from 'react' 
import { Link } from 'gatsby' 
import HeaderStyles from './header.module.scss'
import '../styles/bulma.sass'

const Header = () => {
  return (
     <Link className={HeaderStyles.link} to="/">Home</Link>
  )
}

在这种情况下,我需要从 bulma 添加其他类。所以我的问题是如何将另一个类添加到 Link 元素中?

最佳答案

如果两种样式都断言为常规 css 类,您可以使用 clsxclassnames 有条件地应用它们

import clsx from 'clsx'

const Component = () =>{
    const compoundStyle = clsx({
        [HeaderStyles] : true,
        [BulmaStyles] : true
    })

    return <div className={compoundStyle} />
}

您还可以使用字符串插值获得相同的结果

const styles = `${styleA} ${styleB}`
return <div className={styles} />

关于reactjs - 来自通用和模块化风格的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58401276/

相关文章:

javascript - 使用 React/Socket.IO 无法读取未定义错误的属性 'emit'

amazon-web-services - AWS Amplify 上的 Gatsby 部署失败

localhost - Gatsbyjs开发LOCAL HOST加载慢,慢了15分钟

undefined - 类型错误 : Cannot read property 'allMarkdownRemark' of undefined - on Gatsby

javascript - componentDidMount() 中的 .map 中的 setState

javascript - 圆形对象的本地存储(socket.io)

javascript - 在 React 中将 DIV 的选择和状态管理为单选按钮选项

ios - 在 native react 中如何安排图像按钮

javascript - 如何确保在导航到另一个页面之前完成 reducer 响应操作?

gatsby - gatsby-browser-entry.js 中的 "module parse failed"错误