πŸ“ Typescript μ—μ„œ ...rest μ‚¬μš©ν•˜κΈ°( 포인티 λ””μžμΈ μ‹œμŠ€ν…œ ν”„λ‘œμ νŠΈ )

10_2pangΒ·2023λ…„ 8μ›” 7일
0

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
83/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


각 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ¦¬νŒ©ν† λ§ ν•˜λŠ” κ³Όμ •μ—μ„œ,이벀트 핸듀링 λΆ€λΆ„μ—μ„œ λ§Žμ€ 생각이 μ΄λ£¨μ–΄μ‘Œλ‹€. λ””μžμΈ μ‹œμŠ€ν…œ νŠΉμ„±μƒ μ‚¬μš©μžκ°€ νŽΈν•˜κ²Œ 이벀트λ₯Ό 핸듀링 ν• μˆ˜μžˆλ„λ‘ μ„€μ •ν•΄μ£ΌλŠ”κ²ƒμ΄ μ’‹μ•„λ³΄μ˜€λ‹€. props λ“œλ¦΄λ§ν•΄μ„œ 핸듀링할 ν•¨μˆ˜λ₯Ό μ£ΌλŠ”κ²ƒ λ³΄λ‹€λŠ”, μ»΄ν¬λ„ŒνŠΈλ₯Ό μ„ΈλΆ„ν™” ν•˜μ—¬ 직접 μ»΄ν¬λ„ŒνŠΈλ₯Ό λ‹€λ£¨κ²Œ ν•΄μ£ΌλŠ”κ²ƒμ΄ 이벀트λ₯Ό 많이 λ°œμƒν•˜λŠ” μ§€μ—­μ—μ„œλŠ” λ”μš± 더 효율적이라 νŒλ‹¨λ˜μ—ˆλ‹€.

μ»΄ν¬λ„ŒνŠΈλ₯Ό λΆ„λ¦¬ν•˜κ³ , μ΄λ²€νŠΈκ°€ λ°œμƒλ˜λŠ” μ»΄ν¬λ„ŒνŠΈλŠ” ...rest 방식을 μ‚¬μš©ν•˜μ—¬ 이벀트λ₯Ό λ„˜κ²¨μ£Όλ„λ‘ ν•˜μ˜€λ‹€. ( μ–΄λ–€ 속성을 λΆ€μ—¬ν•˜λŠ”μ§€ μ „λΆ€λ‹€ νƒ€μž…μ§€μ •μ„ ν•΄λ‘λŠ”κ²ƒμ€ λΉ„νš¨μœ¨μ μ΄λΌ νŒλ‹¨ν•˜μ˜€λ‹€. λ˜ν•œ μ»€μŠ€ν…€ 속성을 λΆ€μ—¬ν•˜λŠ” κ²½μš°λ„ μžˆλ‹€κ³  νŒλ‹¨ν•˜μ—¬ ...rest λ₯Ό μ‚¬μš©ν•˜κΈ°λ‘œ ν•˜μ˜€λ‹€. )

βœ…Β ν•΄κ²°


μ—¬κΈ°μ„œ λ¬Έμ œκ°€ 생겼닀. ...rest λ₯Ό 톡해 속성을 λΆ€μ—¬ν•΄μ£Όλ‹ˆ, μ‹€μ œλ‘œλŠ” μ½”λ“œκ°€ λ¬Έμ œμ—†μ΄ λŒμ•„κ°€μ§€λ§Œ IDE λ‚΄μ—μ„œ μ§€μ •ν•΄μ€€ νƒ€μž…μ΄ μ•„λ‹ˆλΌλŠ” 였λ₯˜κ°€ λ°œμƒν•˜κ³  μžˆμ—ˆλ‹€.
κ·Έλž˜μ„œ μ°Ύμ•„λ³Έ 방법은 λ‹€μŒκ³Ό κ°™λ‹€. 객체가 λ™μ μœΌλ‘œ μΆ”κ°€λ˜λŠ” 속성을 ν—ˆμš©ν•  수 μžˆλ„λ‘ index signature λ₯Ό νƒ€μž…μ— μ§€μ •ν•΄λ‘λŠ” 방식이닀. ν•΄λ‹Ή 방식은 λ‹€μŒκ³Ό κ°™λ‹€.

export interface ListProps {
  item: string;
  [key: string]: any; // μ–΄λ–€ λ¬Έμžμ—΄ 킀도 ν—ˆμš©ν•˜λ©°, κ°’μ˜ νƒ€μž…μ€ μ–΄λ–€ 것이든 될 수 μžˆμŠ΅λ‹ˆλ‹€.
}

이 방법은 μ•ˆμ •μ„±μ„ μ†μƒμ‹œν‚¬μˆ˜λŠ” μžˆμ§€λ§Œ, ν•΄λ‹Ή μš”μ†Œμ—μ„œλŠ” μ‚¬μš©μžκ°€ μ»€μŠ€ν…€ν•΄μ•Όν•˜λŠ” 뢀뢄이 λ§Žλ‹€κ³  νŒλ‹¨ν•˜μ—¬ μ‚¬μš©ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

πŸ’­Β κ°œμ„ 


  • λ§Œμ•½ μ—λŸ¬ 핸듀링이 μΆ”κ°€μ μœΌλ‘œ ν•„μš”ν•˜λ‹€κ³  νŒλ‹¨μ΄ 되면 μΆ”κ°€ν•  μ˜ˆμ •μž…λ‹ˆλ‹€.
profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€