4. styled components
์ปดํฌ๋ํธ๋ก ์๊ฐํ๊ธฐ
JSS๋ CSS๋ณด๋ค ๋ ๊ฐ๋ ฅํ ์ถ์ํ์ด๋ค.
JS๋ฅผ ์ฌ์ฉํด ์คํ์ผ์ ์ ์ธ์ ์ด๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ค๋ช ํ๋ค.
์ธ๋ผ์ธ ์คํ์ผ์ด ๋์ํ๋ ๋ฐฉ๋ฒ
const textStyles = {
color: white,
backgroundColor: black
}
<p style={textStyles}>inline style!</p>
๋ธ๋ผ์ฐ์ ์์ DOM๋ ธ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐํ๋ค.
<p style="color: white; backgrond-color: black;">inline style!</p>
CSS in JS๊ฐ ๋์ํ๋ ๋ฐฉ๋ฒ
import styled from 'styled-components';
const Text = styled.div`
color: white,
background: black
`
<Text>Hello CSS-in-JS</Text>
๋ธ๋ผ์ฐ์ ์์ DOM๋ ธ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ฐ๊ฒฐํ๋ค.
<style>
.hash136s21 {
background-color: black;
color: white;
}
</style>
<p class="hash136s21">Hello CSS-in-JS</p>
์ฐจ์ด์
CSS in JS๋ DOM์ ์๋จ์ <style>
ํ๊ทธ๋ฅผ ์ถ๊ฐํ๊ณ ,
์ธ๋ผ์ธ ์คํ์ผ์ DOM ๋ ธ๋์ ์์ฑ์ผ๋ก ์ถ๊ฐํ์ต๋๋ค.
์ ์ด ๋ฌธ์ ๊ฐ ์ค์ํ ๊น?
๋ชจ๋ CSS ๊ธฐ๋ฅ์ JavaScript ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ก ์ง์ ํ ์ ์๋ ๊ฒ์ ์๋๋๋ค. ๋ง์ ์๋ ์ ํ์(:disabled, :before, :nth-child)๋ ๋ถ๊ฐ๋ฅํ๊ณ , html, bodyํ๊ทธ ๋ฑ๋ ์ง์ํ์ง ์์ต๋๋ค.
CSS in JS๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฝ๊ฒ ๋ชจ๋ CSS์ ํ์ ๊ทธ๋๋ก ๋๋ฆด ์ ์๋ค.
์ค์ CSS๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ฏธ๋์ด์ฟผ๋ฆฌ, ์๋ ์ ํ์๋ ์ฌ์ฉ ๊ฐ๋ฅ.
์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๊ฐ
https://d0gf00t.tistory.com/22
CSS-in-JS์ ์ฑ๋ฅ
Last updated