为处于活动状态的 React Bootstrap 组件设置样式

Styling React Bootstrap Component in Active State

我正在尝试设置 React Bootstrap 导航栏的样式。我能够成功地设置非活动选项卡的样式,但是,我似乎无法访问活动选项卡。 我的实时样式是一个单独的 .scss 文件。这是相关的片段:

.navitem {
  a {
    font-size: 12px;
    color: #000;
    background-color: #e7e7e7;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-bottom-color: #357ebd;
    border-bottom-style: solid;
    border-radius: 0px !important;
    display: inline-block;
    border-bottom-width: 2px;
  }
  flex: 1;
}

.navitem.active {
  background-color: #777777;
}

创建活动 Bootstrap 组件时,其 HTML 如下所示:

<li role="presentation" class="Preview-navitem--19fA7 active"><a role="button" href="#">Preview</a></li>

这是 react render() 方法中的 HTML:

<Nav
            className={styles.navbar}
            bsStyle="pills"
            activeKey={this.state.value}
            onSelect={this.handleSelect}
          >
            <NavItem className={styles.navitem} eventKey="1">Preview</NavItem>
            {navItem}
</Nav>

所以,基本上,我可以设置 .navitem 的样式,但不能设置 .active 的样式。 知道我该怎么做吗?

假设这是 CSS 模块,根据粘贴的代码看起来是这样,解决方案是使用全局选择器。 CSS 模块在主 README 页面的 Exceptions. However, their webpack demo has a global selector example 下简要提到了这一点,您可以克隆并尝试使用。

简而言之,你应该改变:

.navitem.active {
  background-color: #777777;
}

至:

.navitem:global(.active) {
  background-color: #777777;
}

以便 Webpack 正确处理它。这应该是所有需要的!