!important 옵션을 사용하면 CSS 적용 우선순위를 무시하고 가장 높은 우선순위로 스타일을 적용할 수 있다.
html에서는 style 속성에 문자열 형태로 다음과 같이 작성하면 된다.
<div class="App">
<p style="color: #ff0000 !important; font-family: Gmarket Sans !important">글씨에용</p>
</div>
리액트에서는 html과는 달리 문자열이 아닌 CSSProperties 타입의 object 형태로 인라인 스타일을 지정한다.
하지만 아래처럼 important 옵션을 적용하려고 한다면 해당 스타일이 아예 적용되지 않는다.
const App = () => {
return (
<div className="App">
<p style={{ color: '#ff0000 !important', fontFamily: 'Gmarket Sans !important' }}>글씨에용</p>
</div>
);
};
아래 PR 코멘트를 읽어보면, 리액트 15부터 공식적으로 !important 옵션을 지원하지 않는다는 사실을 알 수 있다.
style props로 적용하는 방법 대신, 우회적으로 ref를 사용하여 important 옵션 적용이 가능하다.
const App = () => {
return (
<div className="App">
<p
ref={(node) => {
node.style.setProperty('color', '#ff0000', 'important');
node.style.setProperty('font-family', 'Gmarket Sans', 'important');
}}
>
글씨에용
</p>
</div>
);
};
'Frontend > React' 카테고리의 다른 글
React.js - 드래그 앤 드롭 파일 업로드 만들기 (2) | 2023.07.31 |
---|---|
React.js - contenteditable 사용시 발생하는 오류 해결 (0) | 2023.06.08 |
React.js - children에 props 전달 (0) | 2022.07.04 |
React.js - useEffect vs useLayoutEffect 차이점 알아보기 (2) | 2022.04.24 |
react-router-dom 버전 5 vs 6 비교 및 차이점 알아보기 (2) | 2022.04.19 |