[TS] ํ์ ์คํฌ๋ฆฝํธ์์ CSS Module ์ฌ์ฉํ๊ธฐ
๋ฐ์ํ
ํ์ ์คํฌ๋ฆฝํธ CSS Module ์ค๋ฅ ํด๊ฒฐ
ํ์
์คํฌ๋ฆฝํธ์์ CSS Module์ ์ฌ์ฉํ๋ฉด ๋ชจ๋/์ ์ธ์ ์ฐพ์ ์ ์๋ค๋ ํ์
์๋ฌ๊ฐ ๋์จ๋ค. src
ํน์ ์ปดํฌ๋ํธ ํด๋์ ์๋ ๋ด์ฉ์ด ๋ด๊ธด typings.d.ts
ํ์ผ์ ์ถ๊ฐํ๋ฉด ํด๊ฒฐํ ์ ์๋ค. via StackOverFlow
// Toggle/typings.d.ts
declare module '*.module.css' {
const classes: { [key: string]: string };
export default classes;
}
CSS Module ์ฌ์ฉ๋ฒ
โถ [name].module.css
ํํ๋ก CSS ๋ชจ๋ ํ์ผ์ ์์ฑํ๊ณ
/* Toggle/Toggle.module.css */
.toggle-bg:after {
/* ... */
}
โท ์ปดํฌ๋ํธ์์ ์๋์ฒ๋ผ ์ฌ์ฉ. CSS ๋ชจ๋์ ์ ์ํ ํด๋์ค๊ฐ kebob-case
๋ผ๋ฉด class์ ์ ๊ทผํ ๋ computed property๋ฅผ ์ฌ์ฉํ๋ค. e.g. styles['class-name']
// Toggle/Toggle.tsx
import styles from './Toggle.module.css'; // import ์ด๋ฆ ์์ ์ง์ ๊ฐ๋ฅ
// ์ปดํฌ๋ํธ ๋ณธ๋ฌธ์ return๋ฌธ
// ๋ฐฉ๋ฒ 1 : className ์์ฑ์ ์ถ๊ฐ
return <div className={styles['toggle-bg']} />;
// ๋ฐฉ๋ฒ 2 : classnames ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ์
return <div className={classnames('bg-white ...', styles['toggle-bg'])} />;
๊ธ ์์ ์ฌํญ์ ๋ ธ์ ํ์ด์ง์ ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๋ฐ์๋ฉ๋๋ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์
๋ฐ์ํ
'๐ช Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[HTML/CSS] Tailwind CSS์์ ํ์ ์ ๋ ํฐ(~) ์ฌ์ฉํ๊ธฐ
[HTML/CSS] Tailwind CSS์์ ํ์ ์ ๋ ํฐ(~) ์ฌ์ฉํ๊ธฐ
2024.05.11 -
[HTML/CSS] ์คํฌ๋กค๋ฐ ํ์๋ก ์ธํ ๋ ์ด์์ ๋ณํ ๋ฐฉ์งํ๊ธฐ - Scrollbar Gutter
[HTML/CSS] ์คํฌ๋กค๋ฐ ํ์๋ก ์ธํ ๋ ์ด์์ ๋ณํ ๋ฐฉ์งํ๊ธฐ - Scrollbar Gutter
2024.05.11 -
[React] falsy ๊ฐ์ ์ฌ์ฉํ ๋ฆฌ์กํธ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ์ฃผ์ํ ์
[React] falsy ๊ฐ์ ์ฌ์ฉํ ๋ฆฌ์กํธ ์กฐ๊ฑด๋ถ ๋ ๋๋ง์ ์ฃผ์ํ ์
2024.05.11 -
[JS] ํน์ ์์ ์์น๋ก ์คํฌ๋กค ์ด๋ํ๊ธฐ - scrollIntoView
[JS] ํน์ ์์ ์์น๋ก ์คํฌ๋กค ์ด๋ํ๊ธฐ - scrollIntoView
2024.05.11