您可以使用 SCSS 模块定位/修改现有 类 吗?

Can you target/ modify existing classes with SCSS Modules?

我正在将现有的 SCSS 转换为 React 应用程序中的 SCSS 模块,但我遇到了针对由外部库(在本例中为 react-datepicker)指定的 类 的问题。

使用模块将类名更改为类似 ._DateField-module__react-datepicker__fWQOd 的名称,但是是否有任何方法可以定位 DatePicker 样式,或者使用模块无法做到这一点?

前一个代码

DateField.tsx 只是 DatePicker 的包装器:

<div className='date-field'>
  <DatePicker/>
</div>

DateField.scss 成功覆盖 DatePicker 组件内的现有样式:

.date-field {
...
...
  & .react-datepicker {
    background-color: $dark-grey;
    color: $white;
  }
}

您可以使用 :global 切换到相应选择器的全局范围。

.date-field {
...
...
  :global .react-datepicker {
    background-color: $dark-grey;
    color: $white;
  }
}

You don't need the & there.

Here's a working CodeSandbox.