목차
React 컴포넌트의 CSS 범위 지정
문제
구성 요소 범위 CSS
해결책
CSS 모듈의 예
대체 접근 방식
웹 프론트엔드 CSS 튜토리얼 스타일 충돌을 피하기 위해 React에서 구성 요소 범위 CSS를 어떻게 달성할 수 있습니까?

스타일 충돌을 피하기 위해 React에서 구성 요소 범위 CSS를 어떻게 달성할 수 있습니까?

Dec 14, 2024 am 01:15 AM

How Can I Achieve Component-Scoped CSS in React to Avoid Style Conflicts?

React 컴포넌트의 CSS 범위 지정

문제

ES6를 사용하는 React 애플리케이션에서는 별도의 CSS 파일을 컴포넌트로 가져올 수 있습니다. 그러나 이러한 방식으로 가져오면 CSS가 전역적으로 렌더링되어 모든 구성 요소에 영향을 미치는 경우가 많습니다. 이는 CSS 충돌 및 의도하지 않은 스타일 지정으로 이어질 수 있습니다.

구성 요소 범위 CSS

원하는 동작은 CSS의 범위를 개별 구성 요소로 지정하여 스타일이 해당 구성 요소의 범위 내에서만 적용되도록 하는 것입니다. 이는 스타일이 구성 요소에 대해 "로컬"이어야 하며 구성 요소가 마운트 해제되면 사라져야 함을 의미합니다.

해결책

구성 요소 범위 CSS를 구현하려면 CSS 모듈 또는 유사한 CSS-in 활용을 고려하세요. -JS 패키지. 예를 들어 Emotion, Styled Components 또는 npm의 광범위한 카탈로그 패키지가 있습니다.

예를 들어 CSS 모듈은 클래스 이름과 애니메이션 이름을 로컬로 범위 지정하는 메커니즘을 제공합니다. URL 및 가져오기는 모듈 요청 형식으로 처리됩니다.

CSS 모듈의 예

import React from 'react';
import styles from './styles/button.css';

class Button extends React.Component {
  render() {
    return (
      <button className={styles.button}>Click Me</button>
    );
  }
}
export default Button;
로그인 후 복사

CSS 모듈을 사용하면 생성된 CSS는 다음과 같습니다.

.button_3GjDE {
  border-radius: 3px;
  background-color: green;
  color: white;
}
로그인 후 복사

해시 _3GjDE가 포함된 고유한 클래스 이름은 스타일 범위를 버튼으로 지정하여 충돌을 방지합니다. 컴포넌트.

대체 접근 방식

대체 솔루션은 일반 선택기를 피하고 컴포넌트 및 요소에 대해 클래스 기반 명명 규칙을 사용하는 것입니다. 예:

.aboutContainer {
  # Some style
}

.aboutContainer__code {
  # Some style
}
로그인 후 복사

스타일 지정이 필요한 각 요소에는 고유한 클래스 이름이 부여되어 스타일이 특정 구성 요소 내에서만 적용되도록 합니다.

위 내용은 스타일 충돌을 피하기 위해 React에서 구성 요소 범위 CSS를 어떻게 달성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

GraphQL 캐싱 작업 GraphQL 캐싱 작업 Mar 19, 2025 am 09:36 AM

최근에 GraphQL 작업을 시작했거나 장단점을 검토 한 경우 "GraphQL이 캐싱을 지원하지 않음"또는

Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Redwood.js 및 동물 군을 사용하여 이더 리움 앱 구축 Mar 28, 2025 am 09:18 AM

최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

Leakenty와 함께 자신의 Bragdoc을 만듭니다 Leakenty와 함께 자신의 Bragdoc을 만듭니다 Mar 18, 2025 am 11:23 AM

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

vue 3 vue 3 Apr 02, 2025 pm 06:32 PM

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? 브라우저에서 유효한 CSS 속성 값을 얻을 수 있습니까? Apr 02, 2025 pm 06:17 PM

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

CI/CD에 약간 CI/CD에 약간 Apr 02, 2025 pm 06:21 PM

"웹 사이트"는 "모바일 앱"보다 더 잘 맞지만 Max Lynch 의이 프레임이 마음에 듭니다.

반응 형 디자인을위한 브라우저 비교 반응 형 디자인을위한 브라우저 비교 Apr 02, 2025 pm 06:25 PM

목표가 귀하의 사이트를 동시에 다른 크기로 표시하는 이러한 데스크탑 앱이 많이 있습니다. 예를 들어, 글을 쓸 수 있습니다

끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 끈적 끈적한 포지셔닝 및 대시 Sass가있는 쌓인 카드 Apr 03, 2025 am 10:30 AM

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

See all articles