๐ key?
Key๋ React๊ฐ ์ด๋ค ํญ๋ชฉ์ ๋ณ๊ฒฝ, ์ถ๊ฐ ๋๋ ์ญ์ ํ ์ง ์๋ณํ๋ ๊ฒ์ ๋๋๋ค. key๋ ์๋ฆฌ๋จผํธ์ ์์ ์ ์ธ ๊ณ ์ ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด ๋ฐฐ์ด ๋ด๋ถ์ ์๋ฆฌ๋จผํธ์ ์ง์ ํด์ผ ํ๋ค.
Key๋ฅผ ์ ํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ฆฌ์คํธ์ ๋ค๋ฅธ ํญ๋ชฉ๋ค ์ฌ์ด์์ ํด๋น ํญ๋ชฉ์ ๊ณ ์ ํ๊ฒ ์๋ณํ ์ ์๋ ๋ฌธ์์ด์ ์ฌ์ฉํ๋ ๊ฒ์ด๋ฉฐ, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ID๋ฅผ key๋ก ์ฌ์ฉํ๋ค.
๐ key props๋ฅผ ๋ถ์ฌํด์ผํ๋ ์ด์ ?
React์์๋ key์ ๊ฐ์ ํตํด์ ์ด๋ค ์์ดํ ์ ๋ณํ๊ฐ ์์๋์ง๋ฅผ ์ธ์ํ๋ค.ํ์ง๋ง key props๋ฅผ ์ง์ ํด์ฃผ์ง ์์ผ๋ฉด ์ฌ์ดํธ๊ฐ ์ ์ฒด์ ์ผ๋ก ๋ถํ์ํ ๋ ๋๋ง์ ์งํํ๋ค.
๋ฐ๋ผ์ map์ ์ฌ์ฉํ ๋๋ ๊ณ ์ ํ key๊ฐ์ ๋ฐ๋์ ์ฌ์ฉํด์ค์ผ ํ๋ค.
map์ ๋๋ฒ์งธ ์ธ์์ธ index๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค๋ ์ข์์, ์ญ์ ์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ํด ๊ณ ์ ์ id๊ฐ์ ๋ถ์ฌํด์ ๊ทธ id์ ๊ฐ์ key์ ๊ฐ์ผ๋ก ์ ๋ฌํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ ์ ์๋ค.
๊ฐ๊ฐ์ ์ฝ๋ฉํธ์ ๊ฐ๊ฐ์ key๊ฐ์ ๊ฐ์ง๊ฒ ํด์ค์ผ ํ๋ค.
๐ ๊ทธ๋ ๋ค๋ฉด key์ index๋ฅผ ์ฃผ๋ฉด ์๋๋๊ฐ?
โโโโ
์ธ๋ฑ์ค๋ฅผ key๋ก ์ฌ์ฉ์ค์ธ ๋ฐฐ์ด์ด ์ฌ๋ฐฐ์ด์ด ๋๋ฉด ์ปดํฌ๋ํธ์ state์ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ปดํฌ๋ํธ ์ธ์คํด์ค๋ key๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐฑ์ ๋๊ณ ์ฌ์ฌ์ฉ ๋๊ธฐ์ ์ธ๋ฑ์ค๋ฅผ key๋ก ์ฌ์ฉํ๋ฉด ํญ๋ชฉ์ ์์๊ฐ ๋ฐ๋์์ ๋ key ๋ํ ๋ฐ๋ ๊ฒ์ด๋ค. ๊ทธ๋ก์ธํด ์ปดํฌ๋ํธ์ state๊ฐ ์๋ง์ด ๋๊ฑฐ๋ ์๋ํ์ง ์์ ๋ฐฉ์์ผ๋ก ๋ฐ๋ ์๋ ์๋ค.
'DEV' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP (2) | 2024.10.20 |
---|---|
์ธ์ฆ(Authentication) & ์ธ๊ฐ(Authorization) (1) | 2024.10.20 |
Design : UI ์ปดํฌ๋ํธ ์ข ๋ฅ ๋ฐ ํน์ง (3) | 2024.10.20 |
Map Method ์ดํดํ๊ธฐ (0) | 2024.10.20 |
React : State, Props, Event (0) | 2024.10.20 |