๐ Sass๋
๋ณต์กํ ์์ ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๊ณ , ์ฝ๋์ ์ฌํ์ฉ์ฑ์ ๋์ฌ์ค ๋ฟ๋ง ์๋๋ผ, ์ฝ๋์ ๊ฐ๋ ์ฑ๋ ๋์ฌ์ฃผ์ด ์ ์ง๋ณด์๋ฅผ ์ฝ๊ฒ ํด์ค. Sass์์๋ ๋๊ฐ์ง ํ์ฅ์ (.scss/ .sass)๋ฅผ ์ง์ํจ.
๐ก ์์
๋ณธ๊ฒฉ์ ์ผ๋ก Sass๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค์ด๋ณด๋ฉด
๐ก Button ์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ
src ๋๋ ํฐ๋ฆฌ์ components ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑ ํ ๊ทธ ์์ Button.js ์์ฑ
components ๋๋ ํฐ๋ฆฌ์ Button.scss ํ์ผ ์์ฑ
์ฌ๊ธฐ์ lighten() ๋๋ darken()๋ฅผ ์ฌ์ฉํ์ฌ ์์์ ๋ ๋ฐ๊ฒํ๊ฑฐ๋ ์ด๋ก๊ฒ ํด์ค ์ ์์ !!!
App.js, App.scss ํ์ผ ์์ฑ
โ ๊ฒฐ๊ณผ ํ์ธ
onClick ์ต์ ์ถ๊ฐ
โ ๊ฒฐ๊ณผ ํ์ธ
๐ Css Module์ด๋
CSS Module์ ์ฌ์ฉํ๋ฉด ๋ฆฌ์กํธ ํ๋ก์ ํธ์์ ์ปดํฌ๋ํธ๋ฅผ ์คํ์ผ๋ง ํ ๋, CSS ํด๋์ค๊ฐ ์ค์ฒฉ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์.
๐ก ์ปค์คํ ์ฒดํฌ๋ฐ์ค ์ปดํฌ๋ํธ ๋ง๋ค๊ธฐ
์๋ก์ด ํ๋ก์ ํธ
CheckBox ์ปดํฌ๋ํธ ํ ์ค๋น
App ์ปดํฌ๋ํธ์์ ๋ ๋๋งํ๊ธฐ
โ ๊ฒฐ๊ณผ ํ์ธ
๐ styled-components
๐ก styled-components ์ฌ์ฉํ๊ธฐ
$ npx create-react-app styling-with-styled-components
$ cd styling-with-styled-components
$ yarn add styled-components
์ ๋ช ๋ น์ด ์ ๋ ฅ ํ ๊ฒฐ๊ณผ ํ์ธํ๋ฉด
๐ก App.js
๐ก ์คํ๊ฒฐ๊ณผ ํ์ธ
๐ก Button ๋ง๋ค๊ธฐ
App.js / Button.js
๊ฒฐ๊ณผ ํ์ธ
๐ก Dialog ๋ง๋ค๊ธฐ
์ฐ์ components ๋๋ ํฐ๋ฆฌ์ Dialog.js ํ์ผ ์์ฑ
์ ์ปดํฌ๋ํธ๋ฅผ App.js์ ๋ ๋๋งํด์ฃผ๋ฉด
๊ฒฐ๊ณผ ํ์ธ
๐ ์ ๋ฆฌ
๋ฆฌ์กํธ ์ปดํฌ๋ํธ๋ฅผ ์คํ์ผ๋ง ํ ๋ ์ฌ์ฉํ ์ ์๋ ๋๊ตฌ๋ค์ ๊ดํด ์์๋ดค๋ค. ์์ง ์๋ฒฝํ๊ฒ ์ดํด๋ ๋ชปํ ๊ฑฐ ๊ฐ๋ค. ๋ณต์ต์ด ํ์ํ๋ค.
'WINK-(Web & App) > React.js ์คํฐ๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2025 1ํ๊ธฐ React.js ์คํฐ๋] ๊ฐ๋ฏผ์ง #5์ฃผ์ฐจ (0) | 2025.05.22 |
---|---|
[2025 1ํ๊ธฐ React.js ์คํฐ๋] ์ด์น์ค #5์ฃผ์ฐจ (0) | 2025.05.22 |
[2025 1ํ๊ธฐ React.js ์คํฐ๋] ๋ฐฑ์ฑ๋ฆฐ #5์ฃผ์ฐจ (0) | 2025.05.22 |
[2025 1ํ๊ธฐ React.js ์คํฐ๋] ์ด์์ค #5์ฃผ์ฐจ (1) | 2025.05.22 |
[2025 1ํ๊ธฐ React.js ์คํฐ๋] ์ด์๋ #5์ฃผ์ฐจ (0) | 2025.05.21 |