1. ์ฝ๋ ๋ฆฌ๋ทฐ
(1) styled component ์ด์ฉํ์ฌ ํ๊ทธ๋ค ๊ฐ๋ ์ฑ ๋์ด๊ธฐ
a. styled component ๊น๊ธฐ
npm install styled-components
b. styled component ์ด์ฉํ์ฌ ๊พธ๋ฏธ๊ธฐ
styled Component ์ด์ฉํ๋ฉด ๊ฐ๋ ์ฑ์ด ์ข์์ง๋ค. ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ธ๋ผ์ธ ์คํ์ผ๋ก ๊พธ๋ฐ ๊ฒฝ์ฐ, style ์์ฑ๋ค์ ์ด์ฉํด ๊พธ๋ฏธ๋ ๋ด์ฉ์ ์ ์ด์ค์ผ ํ๋ค. ์ด๋ ๊พธ๋ฏธ๋ ๋ด์ฉ์ด ๋ง์์ง์๋ก ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค.
StyleSheet๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ์๋ ํ๊ทธ๋ค๊ณผ CSS ๊ฐ์ฒด๋ค์ ์ฐ๊ฒฐํด์ค์ผ ํ๋๋ฐ, ์ด๊ฒ CSS ๊ฐ์ฒด์ ์์ด ๋ง์์ง์๋ก ํท๊ฐ๋ฆด ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
์คํ์ผ๋ ์ปดํฌ๋ํธ๋ ๋ง ๊ทธ๋๋ก ์ปดํฌ๋ํธ์ ๋ด์ฉ์ CSS๋ฅผ ์ฒจ๊ฐํ ์ ์๋ ๊ฒ์ด๋ค.
์ปดํฌ๋ํธ๋ ์ด๋ฆ์ ๋ง์๋๋ก ํ ์ ์์ผ๋ฏ๋ก, ์ ์ฉํ CSS ๋ด์ฉ์ ๋ง๊ฒ ํน์ ์ฉ๋์ ๋ง๊ฒ ์ปดํฌ๋ํธ ์ด๋ฆ๋ ์ด์ฉํ๋ฉด ๊ฐ๋ ์ฑ์ด ํจ์ฌ ์ข์์ง๋ค.
์์ธํ ๋ด์ฉ์ ๋ฐ์ ์ฒจ๋ถํ๊ฒ ๋ค.
์ปดํฌ๋ํธ ์คํ์ผ๋ง :: ์ ์ ๊ณผ ์๊ฐ์ ๋ฐฉ (tistory.com)
์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ๋ค.
InputContianer์ ๊ฒฝ์ฐ ๋ฐฐ๊ฒฝ์์ COLOR๋ผ๋ ๊ฐ์ฒด์ ๋ฉค๋ฒ Result๋ก ๋ถํฐ ๊ฐ์ ธ์จ๋ค. Styled.View๋ ``์ผ๋ก ๊ฐ์ธ์ ธ ์์ด์ ๋ด์ฉ๋ฌผ๋ค์ ๋ค String ์ด๋ค. ๋ฐ๋ผ์ String ์์ ์ด๋ค ๊ฐ์ ๋ถ๋ฌ์์ ์ฐ๊ณ ์ถ์ ๋๋ ${} ์ ์ฌ์ฉํ๋ค. ์ด๋ Java๋ C++ ์ %s ๋ %n ๊ณผ ๊ฐ์ ๋ ์์ด๋ค.
์ด์ ๋ฒํผ ๋ค์ ํ๋ฐ ๋ฌถ๋ ๋ถ๋ชจ View๋ ButtonContainer๋ก ๋์ฒดํ๊ณ ,
InPut์ ๋ฐ๋ View๋ InputContainer๋ก ๋์ฒดํ๋ค.
(2) useState ์ด์ฉํ์ฌ ๊ฒฐ๊ณผ์ฐฝ ํ์
useState๋ Calculatlate.js์์๋ง ์์ผ๋ก app.js์์ ์ ์ธํ๋ ๋ ์์ ์๋ผ์ Calculate.js์ default ํจ์์์ ๋ถ์ฌ ๋ฃ๋๋ค.
์์ง ๊ฐ์ ๋ํ ๋ณํ ๊ธฐ๋ฅ์ ์ ๋ง๋ค์์์ผ๋ก, ๊ฐ๋ง ๋จ๊ฒ ๋ง๋ ๋ค.
(3) ์ก๋ค์ง์
justify-content๋
flex ๊ธฐ์ค ์ฃผ์ถ(direction ๋จน์ธ ๋ฐฉํฅ)์์ ๊ฐ์
์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ์ง๋ฅผ ์ ์
align-items ๋
flex ๊ธฐ์ค ๊ต์ฐจ์ถ(direction ์ ๋จน์ธ ๋ฐฉํฅ)์์ ๊ฐ์
์ด๋ป๊ฒ ์ ๋ ฌํ ๊ฒ์ธ์ง๋ฅผ ์ ์
2. ์ค์ค๋ก ํด๋ณด๊ธฐ
<ํ๋ฆฐ ๋ถ๋ถ>
styled-component๋ก
๋ฒํผ ์ปจํ
์ด๋ ,์ธํ ์ปจํ
์ด๋ ๋ง๋ค์ด์
๋ฒํผ ๋ณ๋ก ๊ทธ์์ ๋ฃ๊ธฐ
ํด๋น ์ปดํฌ๋ํธ ์ด์ฉํด ๊พธ๋ฏธ๊ธฐ
--> ํ๋ฆฐ ์ : justify-content๋ ๋ถ๋ชจ์ flex-direction์ด column์ด๋ฏ๋ก ์์๋์ ๊ฐ๊ฒฉ์ ๋ํ ๊ฒ, align-items๊ฐ ๊ฐ๋ก ๊ฐ๊ฒฉ์ ๊ดํ ๊ฒ์ด ๋๋ค.
text-align : right๋ ํ
์คํธ ์นธ ์์์ input์ ์์น์ด๊ณ align-items๋ ๋ฐ์ค ์์ฒด์ ์์น์ด๋ค.
width: 100%๋ฅผ ์ฃผ๋๊น ๊ฒฐ๊ณผ์ฐฝ์ด ์ค์ด๋ฆ ์ด๊ฑฐ ๋ฌผ์ด๋ณด๊ณ ๋ต๋ณ ๋ฐ๊ธฐ