πŸ“‚ 기술 λ©΄μ ‘/Library

React μ»΄ν¬λ„ŒνŠΈμ˜ key 속성에 λŒ€ν•΄ μ„€λͺ…ν•΄ μ£Όμ„Έμš”.

Dev. Ella 2023. 4. 10. 11:25

πŸ‘©πŸ»‍πŸ’» React μ»΄ν¬λ„ŒνŠΈμ˜ key 속성에 λŒ€ν•΄ μ„€λͺ…ν•΄ μ£Όμ„Έμš”.

Reactμ—μ„œ 리슀트 ν˜•νƒœλ‘œ μ»΄ν¬λ„ŒνŠΈλ₯Ό λ Œλ”λ§ ν•  λ•Œ, key 값을 λ„£μ–΄λ‹¬λΌλŠ” console μ—λŸ¬κ°€ 자주 λœ¨λŠ”λ°μš”. μ΄λ•Œ 이 key 값이 μ–΄λ– ν•œ 역할을 ν• κΉŒμš”?

 

πŸ’πŸ»‍♀️ μš”μ•½ν•˜μžλ©΄ ,

keyλŠ” Reactκ°€ μ–΄λ–€ ν•­λͺ©μ„ λ³€κ²½ν•˜κ±°λ‚˜ μΆ”κ°€ν• μ§€ λ˜λŠ” μ‚­μ œν• μ§€ κ΅¬λ³„ν•˜λ„λ‘ λ•λŠ” 역할을 ν•©λ‹ˆλ‹€. keyλŠ” μ—˜λ¦¬λ¨ΌνŠΈμ— μ•ˆμ •적인 κ³ μœ μ„±μ„ λΆ€μ—¬ν•˜κΈ° μœ„ν•΄ λ°°μ—΄ λ‚΄λΆ€μ˜ μ—˜λ¦¬λ¨ΌνŠΈμ— μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

 

key 속성은

같은 μ»΄ν¬λ„ŒνŠΈλ₯Ό μ—¬λŸ¬ 번 λ Œλ”λ§ν•  λ•Œ, λ‹€λ₯Έ μ»΄ν¬λ„ŒνŠΈμž„μ„ κ΅¬λΆ„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ†μ„±μΈλ°μš”. 예λ₯Ό λ“€μ–΄, 10개의 νŠΈμœ— 쀑 ν•˜λ‚˜μ˜ νŠΈμœ—λ§Œ λ³€κ²½λ˜μ—ˆμ„ λ•Œ ν•΄λ‹Ή νŠΈμœ—λ§Œ μž¬λ Œλ”λ§ν•˜κ³ , λ‹€λ₯Έ 9개의 νŠΈμœ—μ€ κ·ΈλŒ€λ‘œ λ‘˜ 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ key 속성을 ν™œμš©ν•˜λ©΄ Reactκ°€ 직접 DOM을 μ œμ–΄ν•˜λŠ” 것보닀 더 λΉ λ₯΄κ³  효율적으둜 λ Œλ”λ§ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

κ·Έ μ™Έ,

ν•­λͺ©μ˜ μˆœμ„œκ°€ λ°”λ€” 수 μžˆλŠ” 경우 key에 인덱슀λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 ꢌμž₯ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 이둜 인해 μ„±λŠ₯이 μ €ν•˜λ˜κ±°λ‚˜ μ»΄ν¬λ„ŒνŠΈμ˜ state와 κ΄€λ ¨λœ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

 

πŸ“Ž λ‚΄μš© μ°Έμ‘°

- React κ³΅μ‹λ¬Έμ„œ: Key

- Reactμ—μ„œ key의 μ—­ν• , μ»΄ν¬λ„ŒνŠΈλ₯Ό λ‹€μ‹œκ·Έλ¦¬λŠ” κ³Όμ •(reconciliation)