-
Notifications
You must be signed in to change notification settings - Fork 6
๐ค ์คํ์ผ ์ ํ์ด์ (Emotion)
- ์๋ก์ด css ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐ๊ธฐ ๋ณด๋ค๋, ์ด๋ฏธ ์๊ณ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ ๋ฌ๋์ปค๋ธ๋ฅผ ์ค์ด๊ณ ์ ํจ
- styled-component์ emotion ์์์ ์ ํํ๊ณ ์ ํ์ต๋๋ค.
2022๋ ๊ธฐ์ค์ผ๋ก, @emotion/core์ @emotion/react์ ๋ค์ด๋ก๋ ์๋ฅผ ํฉ์น๋ฉด styled-components๋ณด๋ค ์ฝ 2๋ฐฐ ๋ ๋ง์ ๋ค์ด๋ก๋ ์๋ฅผ ๊ธฐ๋กํ๊ณ ์๋ค. Emotion์ ์ธ๊ธฐ๋์ ์ ๋ขฐ์ฑ์ ํ์ธํ ์ ์์๋ค .
Emotion์ ์์ฒด์ ์ผ๋ก TypeScript๋ฅผ ์ง์ํ์ฌ, ์ถ๊ฐ์ ์ธ ๋ชจ๋ ์ค์น ์์ด๋ TypeScript์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ค.
Emotion์ styled-components์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก CSS ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ์คํ์ผ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด CSS์ JavaScript ์ฝ๋๋ฅผ ์๋ฒฝํ๊ฒ ๋ถ๋ฆฌํ ์ ์์ด ์ฝ๋์ ๊ฐ๋ ์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํจ๋ค.
Emotion์ styled-components๋ณด๋ค ๋ ๊ฐ๋ฒผ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก๋ฉ ์๊ฐ์ ์ค์ด๊ณ , ์ ๋ฐ์ ์ธ ์ฑ๋ฅ์ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ค.
Emotion์ ์ ๊ฐ ์ฐ์ฐ์, composition, CSS ๋ณ์ ๋ฌธ๋ฒ ๋ฑ์ ์ฌ์ฉํ์ฌ CSS ์ฝ๋๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ์์ฑํ ์ ์๋ค. ์ด๋ ๊ฐ๋ฐ์์ ํธ์์ฑ์ ๋์ด๊ณ , ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ์ฆ๊ฐ์ํจ๋ค.
Emotion์ @emotion/babel-plugin์ ์ ๊ณตํ์ฌ, ์๋์ผ๋ก ๋ผ๋ฒจ์ ์ถ๊ฐํด์ค๋ค. ์ด๋ ์๋์ผ๋ก ๋ผ๋ฒจ์ ์ง์ ํ ํ์๋ฅผ ์์ ์ฃผ์ด, ๊ฐ๋ฐ ๊ณผ์ ์ ๋จ์ํํ๋ค.
- ๐ ์๋น์ค ์๊ฐ
- ๐จโ๐ฉโ๐งโ๐ฆ ๋ฐฉ๋ ์ ์ฃผ๋ฏผ ์๊ฐ
- ๐๏ธ 608๋ ๊ท์น
- ๐ฅ ๊น ์ปจ๋ฒค์
- ๐ค ์ฌ์ฉ์ ์๋๋ฆฌ์ค
- ๐ ๊ธฐ๋ฅ ๋ฆฌ์คํธ