์๋ ํ์ธ์ ๐๐ป 18๊ธฐ ํ๋ก ํธ ์ด์์งย ๊น๋ฌธ๊ธฐ์ ๋๋ค. ์ด๋ฒ ๋ฏธ์ ์์๋ ๋๋์ด ํฌ๋๋ฆฌ์คํธ์์ ๋ฒ์ด๋ ์๋ก์ด ํ๋ก์ ํธ์ธย messengerย ๋ง๋ค๊ธฐ๋ฅผ ์งํํฉ๋๋ค.
์ด๋ฒ์ฃผ๋ ํน๋ณํ ๋์์ด๋์์ ํ์ ์ผ๋ก ์งํ๋๋ ๋ฏธ์ ์ ๋๋ค. ๋์์ด๋๋ถ๊ป์ ์ด์ฌํ ๋ฆฌ๋์์ธ ํ ๋ฉ์ ์ ํ๋ก์ ํธ๋ฅผ ์ฌ๋ฌ๋ถ๋ค๊ป์ ๊ตฌํํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
๋์์, ์ด๋ฒ์ฃผ๋ถํฐ๋ ์๋กย TypeScript๋ฅผ ์ ์ฉํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
ํ๋ก์ ํธ์ ๊ท๋ชจ๊ฐ ์ปค์ง๊ฒ ๋ ์๋ก, ์ปดํฌ๋ํธ๊ฐ ๊ฐ์ง๋ props์ ์ข ๋ฅ ๋ํ ๋ค์ํด์ง๊ฒ ๋ฉ๋๋ค. ๋ฌด์ง์ฑ ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ๊ฐ๋ ์ด props์ ๊ตฌ์ฑ๊ณผ ์ด๋ฆ, ์ด๋ค ํ์ ์ด ๋ค์ด๊ฐ์ผ ํ๋์ง ํท๊ฐ๋ฆฌ๊ธฐ ๋ง๋ จ์ด์ฃ . ๋ณดํต ๊ทธ๋ด ๋ ๋ค์ ์ปดํฌ๋ํธ ์ ์ ๋ถ๋ถ์ผ๋ก ๋์๊ฐ props์ ๊ตฌ์ฑ์ ๋ณด๊ณ ์ค๊ณค ํฉ๋๋ค.
ํ์ง๋ง ์ด๋ด ๋, typescript๋ฅผ ์ ์ฉํ๋ค๋ฉด ์ปดํฌ๋ํธ์ ๊ตฌ์ฑ๊ณผ ๊ทธ ์ด๋ฆ, ์ฌ์ง์ด ํ์ ๊น์ง ํ๋ฒ์ ์๋์์ฑ์ผ๋ก ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๊ณ , ์์ฐ์ฑ์ด ์ฆ๋๋๊ฒ ์ฃ .
๋ํ, React Hooks์ ์กฐ๊ธ ๋ ์ต์ํด์ง๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ฌ๋ฌ Hook๋ค์ด ์์ง๋ง ๊ทธ ์ค์์๋ย useState,ย useEffect,ย useRef๋ฅผ ์ค์ ์ ์ผ๋ก ์ฌ์ฉํด ๋ณด๋ ๋ฏธ์
์ธ๋ฐ์, React๋ฅผ ์ฌ์ฉํ๋ฉด์ ๊ต์ฅํ ์์ฃผ ์ฐ์ด๋ Hook๋ค์ด๊ธฐ ๋๋ฌธ์ ์ด ๋ถ๋ถ์ ์ง์ค์ ์ผ๋ก ๊ณต๋ถํด ๋ณด์์!
๊ทธ๋ผ ์ด๋ฒ ๋ฏธ์ ๋ ํ์ดํ ์ ๋๋ค!!๐
- JavaScript๋ฅผ ์ฌ์ฉํ ๋์ ๋นํด TypeScript๋ฅผ ์ฌ์ฉํ ๋์ ์ฅ์ ์ ๋ฌด์์ธ๊ฐ์?
- ๋์์ด๋๋ก๋ถํฐ ์ ๋ฌ๋ฐ์ ํผ๊ทธ๋ง ๋งํฌ ํน์, ํผ๊ทธ๋ง ์บก์ฒ๋ณธ
- ์ปดํฌ๋ํธ๋ฅผ ๋ถ๋ฆฌํ ๊ธฐ์ค์ ๋ฌด์์ธ๊ฐ์?
- ๋์์ธ ์์คํ ์ ์ ์ฉํ๋ฉด์ ๋๋ ์ ์ ๋ฌด์์ธ๊ฐ์?
- ๋์์ด๋์ ์ํตํ๋ฉฐ ๋๋์ ์ ๋ฌด์์ธ๊ฐ์?
- TypeScript๋ฅผ ์ฌ์ฉํด๋ด ์๋ค.
- useState๋ก ์ปดํฌ๋ํธ์ ์ํ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- useEffect์ useRef์ ์ฌ์ฉ๋ฒ์ ์ดํดํฉ๋๋ค.
- styled-components๋ฅผ ํตํ CSS-in-JS ๋ฐ CSS Preprocessor์ ์ฌ์ฉ๋ฒ์ ์ต์ํด์ง๋๋ค.
2023๋ 9์ 29์ผ ๊ธ์์ผ
- ํผ๊ทธ๋ง๋ฅผ ๋ณด๊ณ ๊ฒฐ๊ณผํ๋ฉด๊ณผ ๊ฐ์ด ๊ตฌํํฉ๋๋ค.
- ๋์์ธ ์์คํ ์ ๊ตฌ์ถํฉ๋๋ค.
- ์ฑํ ๋ฐฉ ์๋จ์ ํ๋กํ์ ํด๋ฆญํ๋ฉด ์ฌ์ฉ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
- ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ฉด ์ฑํ ๋ฐฉ ํ๋จ์ผ๋ก ์คํฌ๋กค์ ์ด๋์ํต๋๋ค.
- ๋ฉ์ธ์ง์ ์ ์ ์ ๋ณด(ํ๋กํ ์ฌ์ง, ์ด๋ฆ)๋ฅผ ํ์ํฉ๋๋ค.
- user์ message ๋ฐ์ดํฐ๋ฅผ json ํ์ผ์ ์ ์ฅํฉ๋๋ค.
- UI๋ ๋ฐ์ํ์ ์ ์ธํ๊ณ ํผ๊ทธ๋งํ์ผ์ ๋ฐ๋ผ์ ์งํํฉ๋๋ค.
- ๋๋ธ ํด๋ฆญ ํ๋ฉด ๊ฐ์ ํํ์ ์ถ๊ฐํฉ๋๋ค.
- ๊ทธ ์ธ ์ถ๊ฐํ๊ณ ์ถ์ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ๋ง์๊ป ์ถ๊ฐํด ์ฃผ์ธ์!
์ฐธ๊ณ ๋ก ์ด๋ฒ ๊ณผ์ ๋ ๋ค์์ฃผ๊น์ง ์ด์ด์ง๋ ๊ณผ์ ์ด๋ฏ๋กย ํ์ฅ์ฑ์ ์ถฉ๋ถํ ๊ณ ๋ คํด ์ฃผ์ธ์. ์ฐธ๊ณ ๋กย 4์ฃผ์ฐจ ๊ณผ์ ์์๋ ์ ์ ๋ฐ ๊ธฐ๋ฅ ์ถ๊ฐ์ Routing์ย ์งํํฉ๋๋ค. ์ด๋ฅผ ์ํดย recoil์ด๋ย redux๋ฅผ ์ด์ฉํ ์ํ๊ด๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ํด๋ณด์๋ ๊ฒ์ ์ถ์ฒํฉ๋๋ค!! ๋ชจ๋ ๊ณต์๋ฌธ์ ๋ง์ด ์ฝ์ด๋ณด์๊ณ ์์ ๋ง์ ์ํ๊ด๋ฆฌ ์กฐํฉ๋ ์ฐพ์๋ณด๋ฉด ์ฌ๋ฐ์ ๊ฑฐ์์ XD
- React docs - Hook
- React์ Hooks ์๋ฒฝ ์ ๋ณตํ๊ธฐ
- useEffect ์๋ฒฝ ๊ฐ์ด๋
- ์ฝ๋ฉ ์ปจ๋ฒค์
- ํ์ ์คํฌ๋ฆฝํธ ํธ๋๋ถ
- ๋ฆฌ์กํธ ํ๋ก์ ํธ์์ ํ์ ์คํฌ๋ฆฝํธ ์ฌ์ฉํ๊ธฐ (์๋ฆฌ์ฆ)
- ๋์์ธ ์์คํ ๊ตฌ์ถ๊ธฐ
- [์์] : ์ปดํฌ๋ํธ์ ๋ํ ์ดํด
- Styled Component๋ก ๋์์ธ ์์คํ ๊ตฌ์ถํ๊ธฐ
- ts ์ ๋๊ฒฝ๋ก ์ค์ ํ๊ธฐ