小编Mse*_*Dev的帖子

如何使用 CSS 模块有条件地在 React 组件中应用样式?

默认情况下,我使用CSS 模块在本地范围内我的所有样式。根据我的理解,我能够使用在本地样式表 ( ./movieCard.styl) 中设置的类名的唯一方法是使用属性styleName="something". 因此className="something",将无法访问./movieCard.styl. 我想我可以style={}在 HTML 元素上使用该方法,但我希望我的组件干净,没有样式标记 - 所以我希望有另一种方法可以使用 CSS Module 语法的行为方式来做到这一点。

我尝试了以下方法(即使这些方法没有给出任何错误,它们也不起作用):
styleName={isHovered ? ' movie-card--show' : ''}
className={isHovered ? ' movie-card--show' : ''}

上下文:我试图根据用户是否悬停在电影海报上来显示电影信息。我需要对move-card__info元素应用某种样式,以使海报悬停时文本可见。

下面是我试图完成的一个例子。

import React, { Component } from 'react';
import CSSModule from 'react-css-modules';
import styles from './movieCard.styl';

class MovieCard extends Component {
  state = {
    movie: this.props.movie,
    isHovered: false,
  };

  cardHoverToggle = () => {
    const { isHovered } = …
Run Code Online (Sandbox Code Playgroud)

reactjs css-modules styled-components

2
推荐指数
2
解决办法
1万
查看次数

标签 统计

css-modules ×1

reactjs ×1

styled-components ×1