1

CSS-IN-JS プロジェクト内で stylelint を使用しています (ここでは astroturf を使用していますが、styled-components などの CSS-IN-JS ライブラリを使用しても同じパターンに直面しています)。

同じファイル内で異なるスタイルの要素を定義しているため、セレクタやインポート ルールが重複することがあります。

/* style.js */
import styled from 'astroturf';

export const StyledComponentA = styled('div')`
  transform: scale(0);

  &.visible {
    transform: scale(1);
  }
`;

export const StyledComponentB = styled('div')`
  opacity: 0;

  /* -> stylelint error: Unexpected duplicate selector "&.visible" */
  &.visible {
    opacity: 1;
  }
`;

私はこのように構成します:

import React from 'react';
import { StyledComponentA, StyledComponentB } from './style';

export const Component = ({ isVisible }) => (
  <StyledComponentA visible={isVisible}>
    <StyledComponentB visible={isVisible}>Whatever</StyledComponentB>
  </StyledComponentA>
);

これらの stylelint ルールをファイル全体ではなくブロックに設定する方法はありますか?

4

1 に答える 1