์ปดํฌ๋ํธ์ props๋ฅผ ๋ค์ ๋ฐฐ์๋ณด๋...
๋ณต์ตํ ๊ฒธ ๋ค์ ๊ณต๋ถ๋ฅผ ํด๋ณด๋ ๋ ๋๋ง ์์ญ(์ต์๋จ ๋ถ๋ชจ ์ปดํฌ๋ํธ)์์๋ ์ค์ ๋ก ๋ณด์ฌ์ง๋ ๋ฐ์ดํฐ๋ฅผ props๋ก ๋๊ฒจ์ฃผ๋ ์ญํ , ์ปดํฌ๋ํธ(์์ ์ปดํฌ๋ํธ) ์ ์ ์์ญ์์๋ ๋๊ฒจ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํ๋ค๊ณ ์๊ฐํ๋๊น ์ดํดํ๊ธฐ ์ฌ์ ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ถ๋ชจ์์๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ฒจ์ฃผ๊ณ , ์ ์๋ ์์ ์ปดํฌ๋ํธ์์๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ค!
์คํ์ผ๋ง์ ๊ทธ๋๊ทธ๋ ์๋ง๊ฒ ์ฌ์ฉํ์
๊ฐ์์์๋ ๋ฆฌ์กํธ ์ปดํฌ๋ํธ ์คํ์ผ๋ง์ ๋ํด 1. ์ธ๋ผ์ธ ์คํ์ผ๋ง 2. emotion 3. styled-components 4. tailwind(ํ ์ผ์๋) ์ด๋ ๊ฒ 4๊ฐ์ง์ ๋ํด ์๊ฐํ๊ณ ์์ต๋๋ค. ์ด์ค์์ ์ ๋ ์ธ๋ผ์ธ ์คํ์ผ๋ง๊ณผ styled-components๋ฅผ ์ฌ์ฉํด๋ณด์๋๋ฐ์. ์ต๊ทผ์๋ emotion์ ๋ง์ด ์ฌ์ฉํ๋ค๊ณ ํด์ ๊ฐ์ธ ํ๋ก์ ํธ์ ์ ์ฉํ๊ณ ์ถ๋ค๋ ์๊ฐ์ ํ์ต๋๋ค. ์คํ์ผ๋ง ๋ฐฉ๋ฒ๋ง๋ค ์กฐ๊ธ์ฉ ์ฅ๋จ์ ์ด ์๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์ ์ฐํ๊ฒ ์ ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ... ๊ทธ๋ ์ ๋๋ก ์์๋ค๋ฉด ์ข์์ํ ๋ฐ
ํผ์ ๊ฐ์ธํ๋ก์ ํธ๋ฅผ ๋ง๋ค๋ค๊ฐ, ํ์ ์ปดํฌ๋ํธ์์ ์ ์ธํ ์ํ(state)๋ฅผ ๋๋ค๋ฅธ ํ์ ์ปดํฌ๋ํธ์์ ์ฌ์ฉํ ์ผ์ด ์์์ต๋๋ค. ์ฐ์ ๋ฆฌ์กํธ๋ ๋จ๋ฐฉํฅ ๋ฐ์ดํฐ ํ๋ฆ์ ์งํฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํ์ ์ปดํฌ๋ํธ๋ผ๋ฆฌ ์ฃผ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์๊ณ ์์๋๋ฐ์. ๊ทธ๋์ ๊ตฌ๊ธ๋งํ์ ๋ '์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ'๋ผ๋ ๊ฐ๋ ์ ์ ํ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ ๋ ๊ทธ๋น์ (์ด๋์ ๋ค์๊ฑฐ ์์ด๊ฐ์ง๊ณ ...) ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Redux๋ง์ด ์ ์ผํ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๊ณฐ๊ณฐ์ด ์๊ฐํด๋ณด๋ฉด, ์ ๊ฐ ์ฐธ๊ณ ํ๋ ์ฑ ์ด๋ ๊ฐ์์์๋ ์ํ ๋์ด์ฌ๋ฆฌ๊ธฐ์ ๋ํด ์ค๋ช ํ ์ ์ด ์๊ณ ๋ฐ๋ก ๋ฆฌ์กํธ์ ๋ํด ์๊ฐ๋ฅผ ํด์ ๊ทธ๋ฐ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ ์ปดํฌ๋ํธ์ ์ด๋ฒคํธ์ ์ํด์ ๋ถ๋ชจ ๋๋ ๋๋ค๋ฅธ ํ์ ์ปดํฌ๋ํธ์ ๋ฐ์ดํฐ์ ์ํฅ์ ์ค ๋, 1. ์์ ์ปดํฌ๋ํธ์์ ํด๋น ์ํ๋ฅผ ์ ์ธํ๋๋ก ํ๊ณ , 2. ์์ ์ปดํฌ๋ํธ์์ ์ ์ธํ ์ํ ๋๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ props๋ก ์ ๋ฌํด์ค ์ ์๋ค๋ ๊ฒ์ ์ด๋ฒ์ ์๋กญ๊ฒ ์๊ฒ ๋์์ต๋๋ค. ๊ทธ๋์ Redux๋ก๋ง ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค๊ณ ์๊ฐํ๋๋ฐ, ์ด๋ ๊ฒ ๋ค์ํ ๊ฐ์์ ์๋ฃ๋ฅผ ์ ํ๋ฉด์ ๋ฏธ์ฒ ์์ง ๋ชปํ๋ ๋ถ๋ถ๋ค์ ์ฑ์ฐ๋ ์ข์ ๊ฒฝํ์ด ๋์์ต๋๋ค.
์ธํ๋ฐ์ ์ ๋ฃ ๊ฐ์ <๋ง๋ค๋ฉด์ ๋ฐฐ์ฐ๋ ๋ฆฌ์กํธ: ๊ธฐ์ด>๋ฅผ ์๊ฐํ๊ณ ์์ฑํ๋ ๊ธ์ ๋๋ค.
๊ฐ์ ์๊ฐ ์ด์ , ์ฅ์
๋ฆฌ์กํธ๋ฅผ ์ฒ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋์๋ ๋ถ๊ตฌํ๊ณ , ์ฌ์ฉํ๋ฉด ํ ์๋ก ํท๊ฐ๋ฆฌ๊ณ ์ต์ํ์ง ์์ ๋๊ฐ ๋ง์์ ๊ฐ์๋ฅผ ๊ฒฐ์ ํด ์๊ฐํด๋ณด์์ต๋๋ค. ๊ตฌ๊ธ๋ง๊ณผ ์ฝ์ง์ด ๊ฐ๋ฐ์์ ๋ฏธ๋(?)์ด๋ผ๊ณ ๋ ํ์ง๋ง ์ด์ ๋ง ๋ฐฐ์ฐ๋ ๋จ๊ณ์์๋ ์ค๋ฌด๋ฅผ ์ ์๋ ๊ฐ์ฌ๋์ ์์ ์๋ฃ๋ฅผ ๋ณด๋ฉด์ ์ตํ๋๊ฒ ์ฒ์์ ์ ๋๋ก ์์๊ฐ๋ ๋ฐ ๋์์ด ๋๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์ด๋ฒ์ ์๊ฐํ ๊ฐ์๋ ๊ธฐ์ด ํ์ต์๋ฅผ ์ํ ๊ฐ์๋ผ ์ด๋ฏธ ์๊ณ ์๋ ๋ด์ฉ๋ค๋ ์์๋ง, ํผ์ ๊ณต๋ถํ ๋ ์ ๋๋ก ์์๋ค๋ฉด ์ข์์ ๊ฒ๋ค, ์ด๋ฅผํ ๋ฉด OpenAPI๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฑํฌํ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ์ ๋ด์ฉ์ ๋ณด์ถฉํ ์ ์์ด์ ์ข์์ต๋๋ค. ํนํ ์ด๋ฐ ์ค๋ฌด์ ๊ฐ์๋ ์์ฃผ ์ฐ๋ ๋จ์ถํค๋ ํ์ ์ ์ ์์ด์ ์ ์ฉํ ๊ฒ ๊ฐ์ต๋๋ค.
'๐งโ๐ป๊ฐ๋ฐ_Deep Dive > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
antd์ styled-components ๊ฐ๋จ ์ ์ฉ (0) | 2022.02.08 |
---|---|
[๋ฆฌ์กํธ] CRA ์์ด ๋ฆฌ์กํธ ํ๊ฒฝ ๊ตฌ์ถํด๋ณด๊ธฐ (0) | 2022.02.04 |
[๋ฆฌ์กํธ]styled-components (0) | 2021.12.26 |