๐บ๏ธ 2์ฃผ์ฐจ (24.02.21 - 2.27)
๐ชด ํต์ฌ 3์ค ์์ฝ
- ๋ฆฌ์กํธ ๊ธฐ์ต ๋์ด๋ฆฌ๊ธฐ ์์
- ์๊ฐ ๋ถ๋ฐฐ ์ ํ๋ ์ฐ์ตํ๊ธฐ
- ๊ณํ ๋ฏธ๋ฆฌ ์ธ์ฐ๊ณ ํ์ธํ๋ฉด์ ๊ณต๋ถํ๊ธฐ
๐ ์ด๋ฒ ์ฃผ ๋ชฉํ
โ ๋ฆฌ์กํธ ๊ธฐ์ด ๊ฐ์ ํด๋น ๋ฒ์ ๋ฃ๊ธฐ
โ ์ฑ๋ฆฐ์ง ์ฌ์ถํ๊ธฐ
โ ์ฃผ๊ฐํ์ ์ฐธ์ฌํ๊ธฐ
๐ฅ ์นญ์ฐฌํ๊ณ ์ถ์ ์
- ๊ณผ์ , ํด์ฆ ์ ์ถ ํ ์
๐ ๊ณ ์น๊ฑฐ๋ ๋ฒ๋ ค์ผ ํ ์
- ์๊ฐ ๋ถ๋ฐฐ ์ ๋ชปํ๋ ์ . ํด์ผ ํ ๊ฒ์ด ์์ ๋ ํ๋ ์ผ ๊ทธ๋ง ๋๋ ์ฐ์ต์ ํด์ผ๊ฒ ๋ค.
๐ฌ ์ผ์ผ ์คํ๋ฆฐํธ ๋ชจ์
๐ 2/21 (์)
โ ์ฃผ๊ฐ ํ๊ณ ๋ก ์์ & ์ ์ถ
โ ์ฑ๋ฆฐ์ง ์ ์ถ
โ๏ธ ๋ฆฌ์กํธ ๊ธฐ์ด #4.0-4.3
โ๏ธ ๋ฆฌ์กํธ ๊ธฐ์ด #5.0-5.1
๐ 2/22 (๋ชฉ)
โ ํด์ฆ ์ ์ถ
โ๏ธ ๋ฆฌ์กํธ ๊ธฐ์ด #4.0-4.3
โ๏ธ ๋ฆฌ์กํธ ๊ธฐ์ด #5.0-5.1
๐ 2/23 (๊ธ)
๋๋ฌ๊ฐ๋ค๋ค
๐ 2/24 (ํ )
โ๏ธ ๋ฆฌ์กํธ ๊ฐ์ ๋ฐ๋ฆฐ ๊ฒ ๋ฃ๊ธฐ - #4.0-5.2
๐ 2/25 (์ผ)
โ๏ธ ์กธ์ ์ฌ์ถ
๐ 2/26 (์)
โ ํด์ฆ ์ ์ถ
๐ 2/27 (ํ)
โ ํด์ฆ ์ ์ถ
๐ ์ด๋ฒ ์ฃผ ๋ฐฐ์ด ๋ด์ฉ
๐ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
1. useMemo()
์ต์ ํ๋ฅผ ์ํด useMemo() ๋ฅผ ํ์ฉํ ์ ์๋ค.
๋ง๋ค์ด๋์ ์ปดํฌ๋ํธ๋ฅผ React.memo(์ปดํฌ๋ํธ ์ด๋ฆ) ์ด๋ ๊ฒ memo ์์ ๋ฃ์ผ๋ฉด,
ํด๋น ์ปดํฌ๋ํธ์ ๋ถ๋ชจ ์ปดํฌ๋ํธ๊ฐ ๋ฆฌ๋ ๋๋ง ๋ ๋ ๋ณํํ UI ๊ฐ ์๋ค๋ฉด,
ํด๋น ์ปดํฌ๋ํธ๋ re-rendered ๋์ง ์๋๋ค.
2. props ์ ๊ธฐ๋ณธ ๊ฐ ์ค์ ํด์ฃผ๊ธฐ (JS) & ํ์ ์ค์ ํด์ฃผ๊ธฐ - propTypes ์ฌ์ฉ
props ๋ฅผ ๋ฐ์์ค๋ฉด์ = ๋ก ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋ฐ๋ก ๋ณด๋ด์ฃผ์ง ์์์ ๋ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ์ค์ ๋๋ค.
์ด๊ฑด ๋ฆฌ์กํธ๊ฐ ์๋๋ผ JS ๋ฌธ๋ฒ์ด์ง๋ง ๊น๋จน์ด์ ๋ฉค๋ชจ
3. css - module ์ฌ์ฉ๋ฒ
์ด๋ ๊ฒ ํ๋ฉด,
Button.module.css ๋ผ๋ ํ์ผ ์์ ์๋ .btn ํด๋์ค๋ฅผ ์ ์ฉํ ์ ์๋ค.
๊ทธ๋ผ ๋๋คํ class name ์ ๊ฐ๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ์ ๋๊ฐ์ className ์ ๋ค๋ฅธ ํ์ผ ๋ด์์๋ ์ฌ์ฉํ ์ ์๋ค.
CRA ์ ๊ธฐ๋ฅ.
4. useEffect()
https://react.dev/reference/react/useEffect
์ปดํฌ๋ํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก state ์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ฉด ์ฌ๋ ๋๋ง์ด ๋๋ค. (function ๋ด์ ์๋ ์ฝ๋๊ฐ ๋ค์ ์คํ๋จ.)
๋ค์ render ๋ ๋๋ง๋ค ๋ฐ๋ณต ์คํ๋์ด๋ ๊ด์ฐฎ์ ์ฝ๋๊ฐ ์์ ์๋ ์์ง๋ง ์ด๋ ๊ฒ ํ์ง ์๊ณ ,
component ๊ฐ ์ฒ์ render ๋ ๋๋ง ์ฝ๋๊ฐ ์คํ๋๊ธธ ์ํ ์๋ ์๋ค.
๊ฐ๋ น API ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๋, ์ดํ์ state ๊ฐ ๋ณํํ ๋ ๊ตณ์ด ๊ฐ์ API ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ถ์ง ์์๊ฑฐ์.
[] ์์ ๋ณํ์ ๋ ๋ ๋๋๊ธธ ์ํ๋ state ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
5. ์ฐ๋ถํฌ์ git ์ค์น
์ต๊ทผ์ ๋ ธํธ๋ถ์ ํฌ๋ฉงํด์ ์ฐ๋ถํฌ ์ธํ ์ ๋ค์ ํ๊ณ ์๋ค.
(1) ๊น ์ค์นํ๊ธฐ
sudo apt install git
(2) ์ ์ค์น๋๋์ง git ๋ฒ์ ํ์ธํ๊ธฐ
git --version
(3) push ํ ๋ ์ฌ๋ผ๊ฐ ๋ด ์ ๋ณด ์ ๋ ฅํด์ฃผ๊ธฐ
git config --global user.name ์ด๋ฆ
git config --global user.email ์ด๋ฉ์ผ
*์ฌ๊ธฐ๋ถํด ๋ ํฌ์งํ ๋ฆฌ ์์ฑ ์ ์๋ ค์ฃผ๋ ๊ฒ๊ณผ ๋์ผ
(4) git ์ ์ฅ์ ๋ง๋ค๊ธฐ
git init
(5) ๋ง๋ ํ๋ก์ ํธ repository ์ ์ฐ๋ํ๊ธฐ
git remote add origin ๊น๋ ํฌ์งํ ๋ฆฌ์ฃผ์
6. VS code prettier ์ธํ - ์๋ ์ฐธ์กฐํด์ ์ธํ
https://green-grapes.tistory.com/entry/VSCode-prettier-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
7. VS code ์์ ๊นํ๋ธ๋ก push ํ๋ ค๊ณ ํ๋๋ฐ ์๊ธด ์ค๋ฅ
..? ์๊น ์ ๋ ฅ ๋ค ํ๋๋ฐ
์๊ณ ๋ณด๋ Name ๊ณผ Email ๋ชจ๋ " " ๋ฐ์ดํ ์์ ์จ์ค์ผ ํ๋ค... ๋จธ์ฑ~
^_^;
8. ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ๊ฑฐ๋, ์๋ก๊ณ ์นจ ์ ์ด๋ฏธ์ง๊ฐ ์ฌ๋ผ์ง๋ (์๋ฐ๋จ๋) ์ค๋ฅ์ ํด๊ฒฐ
์ด์ ๊ธฐ์์์๋ ๊ณผ์ ๋ฅผ ํ๋ฉด์ Header ์ png ํ์์ ๋ก๊ณ ๋ฅผ ๋ฃ๊ณค ํ๋๋ฐ,
๋์ฆ๋ ๊ณผ์ ๋๋ ๊ทธ๋ ๊ณ Header ์ ๋ฑ! ์๋ฆฌ์ก๊ณ ์์ด์ผ ํ ๋ก๊ณ ๊ฐ ์๊พธ ์ฌ๋ผ์ ธ์ ์ง์ฆ๋ฌ๋ ๊ธฐ์ต์ด ์๋ค.
๊ทผ๋ฐ ์๊ทธ๋ฌ์ง ํ๊ณ ๊ธฐ๋ฅ ์ ๋๋๊น ๋์ด๊ฐ์๋ค๊ฐ ์ด๋ฒ์๋ ๊ทธ๋ฌ๊ธธ๋ ์ฐพ์๋ดค๋ค.
(์ฐธ๊ณ ๋ก require ์ ๋ถ์ฌ๋ ํด๊ฒฐ๋์ง ์์๋ค. ์คํ๋ ค react ๊ฐ ์ค๋ฅ๋ผ๊ณ ์๊ธฐํจ)
์์ธ์ src ์ ์ง์ ์ ์ผ๋ก ์ด๋ฏธ์ง path ๋ฅผ ์ ์ด์ค ๊ฒ.
์ฒ์ ์์ฑํ ์ฝ๋
<Link to="/">
<img src="src/assets/marvel_full.png" alt="MARVLE" />
</Link>
์์ ํ ์ฝ๋
import logo from '../assets/marvel_full.png';
export default function Header() {
return (
<div className="">
<h1>Fetured</h1>
<Link to="/">
<img src={logo} alt="MARVLE" />
</Link>
์ด๋ ๊ฒ
์ด๋ฏธ์ง๋ฅผ logo ๋ผ๋ ๋ณ์๋ก import ํด์ค ๋ค, src ์ ๋ณ์๋ฅผ ๋ฃ์ด์คฌ๋ค.
์ด์ Header ๊ฐ ๋ฐ ๋๋ง๋ค ๋ก๊ณ ๋ผ๋ ๋ณ์๋ฅผ ๊ณ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด๋ฏธ์ง๋ฅผ ์ ๊ฐ์ ธ์ค๊ฒ ๋๋ค.
์ ๊ทผ๋ฐ ์์ ํ๊ฒ ์ดํด๋ ์๋ผ์ ๋ค์ ์ฐพ์๋ด์ผ ํ ๊ฒ ๊ฐ๋ค.
โณ ์ง๋ฌธ
๐ ์ฃผ๊ฐ ํ์์ ์กฐ๋ณ ํ๋
- ์ฌํ๋์ด TA ๋ก ๊ณ์ 2์กฐ๋ก ํธ์ฑ๋๋ค! ํ๋ฟก์ด๋ฅผ ์ข์ํ์ ๋ค.
๐ต ์๊ฐ ๊ธฐ๋ก
์ง๋ 10์ฃผ ์คํฐ๋ ๋์ ๋ค๋ฅด๊ฒ, ์ด๋ฒ์ ๊ฐ์๋ฅผ ํ๋์ฉ ๋ค ๋ฃ๊ณ ์๋ค.
์ ์ ๊ณต๋ถ๋ฅผ ์ํด์ ๊น๋จน์ ๊ฒ๋ ์์ง๋ง, ๋ค์ ๋ค์ด๋ณด๋ ์ฒ์ ๊ณต๋ถํ ๋๋ ์ ํ ๋ค๋ฅธ ๋๋์ด๋ค.
์ฒ์์ ์ ์ดํด๊ฐ ์๋์๊ณ , ์ดํ์ 10์ฃผ ์คํฐ๋๋ฅผ ํ ๋ ๊ฐ์๋ฅผ ์๋ฃ๊ณ ํ๋ก์ ํธ๋ฅผ ํ๋ค.
๋น์์ ๋๋ฆ์ ๋์ ์ด๊ณ ๋ต์ง๋ฅผ ๋ณด์ง ์๊ณ ์ค์ค๋ก ๋ง๋ค์ด๋ณด๊ฒ ๋ค๋ ๊ฐ์ค์์ง๋ง
์ ๋ฉฐ์น ๊ฐ์๋ฅผ ๋ค์ ๋ณด๋ฉด์ ์ ๋ด๊ฐ ์๋ ๊ฒ ๋ณ๋ก ์์๊ตฌ๋, ์ด์ ์ ๊ฐ์๋ฅผ ์ ๋๋ก ๋ฃ์ง ์์๊ตฌ๋ ํ๋ ๊นจ๋ฌ์ ๋ฟ์ด๋ค.
์์ฝํ์๋ฉด ์, ์ค๋งํ๊ตฌ๋. ํ๋ ํ์.
๋๋ถ์ด ํ์ฌ๋ก์ฌ ์ ๋ฐ์ ์ธ ๋ฆฌ์กํธ๊ฐ ์ต์ํ๊ธฐ์ ํจ์ฌ ์ฌ๋ฐ๊ฒ, ๊ทธ๋ฆฌ๊ณ ๋น ๋ฅด๊ฒ ๋ฃ๊ณ ์๋ค.
'์ ๋ง๋ค ์ถ์ ๋ด์ฉ๋ง ํ๊ธฐ๋ฅผ ํ๊ณ ๋๋จธ์ง๋ ์ค ์ ๋ ๊ฒ ํ๋ฉด ๋์์ง ๋๋๋๋' ํ๋ฉด์ ๋ฃ๊ณ ์๋๋ฐ,
๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์ฐธ ์ฌ๋ฐ๊ตฌ๋ง! ์ด๋ผ๊ณ ๋๋ ๊ฑด ์ฒ์์ธ ๋ฏ ์ถ๋ค. (์ฝ์ฝ์ํก ์ดํ์)
ํด์ผํด์ ํ๋ ๊ณต๋ถ๊ฐ ์๋๋ผ ํ์ํด์ ํ๋ ๊ณต๋ถ์ ๋ง์ธ๋๋ ์ด๋ ๊ฒ ๋ค๋ฅด๊ตฌ๋ ๋๋ผ๊ณ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์ทจ์ ๋ง์ง๋ ธ์ ๊ธฐ๊ฐ์ ์์ด๋ค.
์ด ์ ๋ ์ฆ๊ฒ๊ฒ ๊ณต๋ถํ๋ ๋ฐ ํฐ ๋์์ด ๋๊ณ ์๋ค. ์ฐ์ ์ ์ทจ์ ๋ณด๋จ ๊ฐ๋ฐ ๊ณต๋ถ์ ์ฌ๋ฏธ๋ฅผ ๋ถ์ฌ๋ณด๋ ค๊ณ ํ๋ค.
๊ทธ๋ ๋ค๊ณ ์ด์ ์ ํ๋ ๋ ธ๋ ฅ๋ค์ด ์ํฌ๋ก ๋์๊ฐ๋ ๊ฑด ์๋๋๊น...!
๋ผ๊ณ ์ผ์ง๋ง ์ ๋ฉฐ์น ์ ์ง์ค์ ๋ชปํ๋ค.
'Progress > ๐ ๋ ธ๋ง๋์ฝ๋ ๋ฆฌ์กํธ4๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[6์ฃผ์ฐจ] ์ฃผ๊ฐํ๊ณ ๋ก (0) | 2024.03.27 |
---|---|
[5์ฃผ์ฐจ] ์ฃผ๊ฐํ๊ณ ๋ก (0) | 2024.03.20 |
[4์ฃผ์ฐจ] ์ฃผ๊ฐํ๊ณ ๋ก (0) | 2024.03.08 |
[3์ฃผ์ฐจ] ์ฃผ๊ฐํ๊ณ ๋ก (0) | 2024.03.06 |
[1์ฃผ์ฐจ] ์ฃผ๊ฐํ๊ณ ๋ก (0) | 2024.02.19 |