๐ 6์ฃผ์ฐจ๋ React์ props์ useState , useEffect์ ๋ํด
ํ์ต์ ํ๋ฉด์ ๊ณผ์ ๋ฅผ ์งํํ๋ค.์ ๋ง ์๊ฐ๊ฐ๋์ค ๋ชจ๋ฅด๊ณ ํ ์ฃผ๋ฅผ๋ณด๋๋ค.
api data๋ฅผ ์ด์ฉํ์ฌ ํ๋ก์ ํธ ๊ณผ์ ๋ฅผ ์ฝ๋ฉํ์๋๋ฐ , ๊ฒ์ํ๋ด ๋ณต์ตํ๋ด ์ฝ๋ฉํ๋ด..์ ๋ง
JS,React ์ ๋ง ๋๋ฌด๋๋ ์ํ๊ณ ์ถ๋ค.
๋ณต์ต ๊พธ์คํ ํ๊ณ ํ์ต์ง๋ ์ด์ฌํ ๋ฐ๋ผ๊ฐ๋ณด์!
์ด๋ฒ ์ฃผ์ ๋ React์ ๊ดํ 2๊ฐ์ง ์ฃผ์ ๋ฅผ ๋ฐ์๋ค.
DOM
์ Document Object Model
์ ์ฝ์์ด๋ฉฐ,๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ
์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.๋
ธ๋(Node)
๋ผ๋ ์ฉ์ด๋ก ํํํ๋ค.Virtual DOM
์ด๋ ๊ฐ์ DOM์ด๋ผ๊ณ ๋ ํ๋ค.๊ฐ์
์ด๋ผ๋ ๋ป์ ์ง๋๊ณ ์๋ค.์ฑ๋ฅ ์ต์ ํ
๋๋ฌธ์ด๋ค.์ปดํฌ๋ํธ๋ฅผ ๋ฐ๋ณตํ์ฌ ๋ ๋๋งํด์ผ ํ๋ ๊ฒฝ์ฐ, map์ ์ฌ์ฉํ๋ค.
๋ง์ฝ ๋ฐฐ์ด ๋ด๋ถ์ ์๋ฆฌ๋จผํธ์ key ๊ฐ์ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด,
'Each child in a list should have a unique key prop.'
์์ ๊ฐ์ ๊ฒฝ๊ณ ๋ฌธ์ด ๋จ๊ฒ ๋๋ค.
๋ฆฌ์กํธ ๊ณต์๋ฌธ์์์๋ key๋ ์ด๋ค ์์ดํ ์ด ๋ณํ๋๊ฑฐ๋ ์ถ๊ฐ ๋๋ ์ญ์ ๋์๋์ง๋ฅผ ์๋ณํ๊ธฐ ์ํด ํ์ํ๋ค๊ณ ํ๋ค.
๋ฆฌ์กํธ๋ state์์ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ฐพ์ ๋ฆฌ๋ ๋๋งํด์ค๋ค.
์ด๋ ๊ฐ์ DOM๊ณผ ๋น๊ตํ์ฌ ํด๋น ๋ถ๋ถ๋ง ๋ฆฌ๋ ๋๋งํด์ค๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋
๋ฐฐ์ด์ ์์๊ฐ ์ถ๊ฐ๋์๋ค๋ฉด ๋ฐฐ์ด ์ ์ฒด๊ฐ ๋ณ๊ฒฝ๋ ๊ฒ์ด๋ผ๊ณ ์ธ์ํ๊ณ ์ ์ฒด๋ฅผ ๋ฆฌ๋ ๋๋ง ํ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ณ ์ ๋ฐฐ์ด ๋ด๋ถ ์๋ฆฌ๋จผํธ์ key๊ฐ์ ์ง์ ํด์ค์ผํ๋ค. key ๊ฐ์ ์ง์ ํด์ฃผ๋ฉด ๋ฆฌ์กํธ๋ ๋ฐฐ์ด์ ์ถ๊ฐ๋ ์์์ ๋ํด์๋ง ๋ฆฌ๋ ๋๋งํ๋ค. ์ฆ, key๋ ๋ฐฐ์ด์ ์ด๋ค ์์์ ๋ณ๋์ด ์์๋์ง ์๋ณํ๊ณ ์ ํ ๋ ์ฌ์ฉ๋๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง ๊ณ ์ ์ ๊ฐ์ key๋ก ์ค์ ํด์ผ ํ๋ค.
๐๐ปRefernce
Code-it
React Key