๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“‚ ๊ธฐ์ˆ  ๋ฉด์ ‘/Library

React ์ปดํฌ๋„ŒํŠธ์˜ key ์†์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

by Dev. Ella 2023. 4. 10.

๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป React ์ปดํฌ๋„ŒํŠธ์˜ key ์†์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

React์—์„œ ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ Œ๋”๋ง ํ•  ๋•Œ, key ๊ฐ’์„ ๋„ฃ์–ด๋‹ฌ๋ผ๋Š” console ์—๋Ÿฌ๊ฐ€ ์ž์ฃผ ๋œจ๋Š”๋ฐ์š”. ์ด๋•Œ ์ด key ๊ฐ’์ด ์–ด๋– ํ•œ ์—ญํ• ์„ ํ• ๊นŒ์š”?

 

๐Ÿ’๐Ÿป‍โ™€๏ธ ์š”์•ฝํ•˜์ž๋ฉด ,

key๋Š” React๊ฐ€ ์–ด๋–ค ํ•ญ๋ชฉ์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ• ์ง€ ๋˜๋Š” ์‚ญ์ œํ• ์ง€ ๊ตฌ๋ณ„ํ•˜๋„๋ก ๋•๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. key๋Š” ์—˜๋ฆฌ๋จผํŠธ์— ์•ˆ์ •์ ์ธ ๊ณ ์œ ์„ฑ์„ ๋ถ€์—ฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐฐ์—ด ๋‚ด๋ถ€์˜ ์—˜๋ฆฌ๋จผํŠธ์— ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

key ์†์„ฑ์€

๊ฐ™์€ ์ปดํฌ๋„ŒํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ Œ๋”๋งํ•  ๋•Œ, ๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ์ž„์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ธ๋ฐ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด, 10๊ฐœ์˜ ํŠธ์œ— ์ค‘ ํ•˜๋‚˜์˜ ํŠธ์œ—๋งŒ ๋ณ€๊ฒฝ๋˜์—ˆ์„ ๋•Œ ํ•ด๋‹น ํŠธ์œ—๋งŒ ์žฌ๋ Œ๋”๋งํ•˜๊ณ , ๋‹ค๋ฅธ 9๊ฐœ์˜ ํŠธ์œ—์€ ๊ทธ๋Œ€๋กœ ๋‘˜ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ key ์†์„ฑ์„ ํ™œ์šฉํ•˜๋ฉด React๊ฐ€ ์ง์ ‘ DOM์„ ์ œ์–ดํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋ Œ๋”๋ง ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ทธ ์™ธ,

ํ•ญ๋ชฉ์˜ ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ key์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๊ฑฐ๋‚˜ ์ปดํฌ๋„ŒํŠธ์˜ state์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

 

 

๐Ÿ“Ž ๋‚ด์šฉ ์ฐธ์กฐ

- React ๊ณต์‹๋ฌธ์„œ: Key

- React์—์„œ key์˜ ์—ญํ• , ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋‹ค์‹œ๊ทธ๋ฆฌ๋Š” ๊ณผ์ •(reconciliation)

๋Œ“๊ธ€