React에서 조건부로 CSS를 렌더링하는 3가지 방법
10839 단어 cssjavascriptreactwebdev
npx create-react-app my-app
cd my-app
npm start
방법 1:
통사론
{[ your_class_name]: conditon}
예시
이 방법에서는 CSS 모듈을 사용합니다. 두 클래스를 병합하기 위해
clsx
라이브러리를 사용합니다.clsx 설치
npm install clsx
이제 설치한 후 let dive into
App.js
import styles from "./styles.module.css";
import clsx from "clsx";
export default function App() {
let title = true;
return (
<div className="App">
<h1 class={clsx(styles.baseText, { [styles.heading]: title })}>
Sample Heading
</h1>
<h1 class={styles.description}>Here goes description</h1>
</div>
);
}
styles.module.css
.baseText {
font-size: 20px;
color: yellow;
}
.heading {
font-size: 28px;
color: red;
}
.description {
font-size: 18px;
color: aqua;
}
링크
방법 2:
통사론
conditon && yourstyle
App.js
import styles from "./styles.module.css";
import clsx from "clsx";
export default function App() {
let title = true;
return (
<div className="App">
<h1 class={clsx(styles.baseText, title && styles.heading)}>
Sample Heading
</h1>
<h1 class={styles.description}>Here goes description</h1>
</div>
);
}
styles.module.css
.baseText {
font-size: 20px;
color: yellow;
}
.heading {
font-size: 28px;
color: red;
}
.description {
font-size: 18px;
color: aqua;
}
방법 3:
통사론
{`${condition}` ? "classname_1" : "classname_2"}
예시
App.js
import "./styles.css";
export default function App() {
let title = true;
return (
<div className="App">
<h1 class={`${title}` ? "heading" : "baseText"}>Sample Heading</h1>
<h1 class="description">Here goes description</h1>
</div>
);
}
styles.css
.baseText {
font-size: 20px;
color: yellow;
}
.heading {
font-size: 28px;
color: red;
}
.description {
font-size: 18px;
color: aqua;
}
결과
Source code 이 자습서용
Reference
이 문제에 관하여(React에서 조건부로 CSS를 렌더링하는 3가지 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jasurkurbanov/3-ways-conditionally-render-css-in-react-1j5i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)