๐ฉ๐ป๐ป React ์ปดํฌ๋ํธ์ key ์์ฑ์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์.
React์์ ๋ฆฌ์คํธ ํํ๋ก ์ปดํฌ๋ํธ๋ฅผ ๋ ๋๋ง ํ ๋, key ๊ฐ์ ๋ฃ์ด๋ฌ๋ผ๋ console ์๋ฌ๊ฐ ์์ฃผ ๋จ๋๋ฐ์. ์ด๋ ์ด key ๊ฐ์ด ์ด๋ ํ ์ญํ ์ ํ ๊น์?
๐๐ปโ๏ธ ์์ฝํ์๋ฉด ,
key๋ React๊ฐ ์ด๋ค ํญ๋ชฉ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ถ๊ฐํ ์ง ๋๋ ์ญ์ ํ ์ง ๊ตฌ๋ณํ๋๋ก ๋๋ ์ญํ ์ ํฉ๋๋ค. key๋ ์๋ฆฌ๋จผํธ์ ์์ ์ ์ธ ๊ณ ์ ์ฑ์ ๋ถ์ฌํ๊ธฐ ์ํด ๋ฐฐ์ด ๋ด๋ถ์ ์๋ฆฌ๋จผํธ์ ์ง์ ํด์ผ ํฉ๋๋ค.
key ์์ฑ์
๊ฐ์ ์ปดํฌ๋ํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ ๋๋งํ ๋, ๋ค๋ฅธ ์ปดํฌ๋ํธ์์ ๊ตฌ๋ถํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์์ฑ์ธ๋ฐ์. ์๋ฅผ ๋ค์ด, 10๊ฐ์ ํธ์ ์ค ํ๋์ ํธ์๋ง ๋ณ๊ฒฝ๋์์ ๋ ํด๋น ํธ์๋ง ์ฌ๋ ๋๋งํ๊ณ , ๋ค๋ฅธ 9๊ฐ์ ํธ์์ ๊ทธ๋๋ก ๋ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ key ์์ฑ์ ํ์ฉํ๋ฉด React๊ฐ ์ง์ DOM์ ์ ์ดํ๋ ๊ฒ๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ ๋๋ง ํ ์ ์์ต๋๋ค.
๊ทธ ์ธ,
ํญ๋ชฉ์ ์์๊ฐ ๋ฐ๋ ์ ์๋ ๊ฒฝ์ฐ key์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฑ๋ฅ์ด ์ ํ๋๊ฑฐ๋ ์ปดํฌ๋ํธ์ state์ ๊ด๋ จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๐ ๋ด์ฉ ์ฐธ์กฐ
- React์์ key์ ์ญํ , ์ปดํฌ๋ํธ๋ฅผ ๋ค์๊ทธ๋ฆฌ๋ ๊ณผ์ (reconciliation)
'๐ ๊ธฐ์ ๋ฉด์ > Library' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Virtual DOM์ด๋? ๊ทธ๋ฆฌ๊ณ ์ฌ์ฉ ์ ์ฅ์ ์? (0) | 2023.06.08 |
---|---|
useEffect์ dependency array์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์. (0) | 2023.04.10 |
React์ props์ state์ ๋ํด ์ค๋ช ํด ์ฃผ์ธ์. (0) | 2023.04.04 |
๋๊ธ