# [[Transient Props]] ## πŸ“Œ Brief Summary [[Transient Props]]λŠ” `styled-components` 버전 5.1μ—μ„œ λ„μž…λœ κΈ°λŠ₯으둜, μŠ€νƒ€μΌλ§λ§Œμ„ μœ„ν•΄ μ‚¬μš©λ˜λŠ” 속성(Prop)이 κΈ°λ³Έ React λ…Έλ“œλ‚˜ DOM μš”μ†Œλ‘œ 전달 및 λ Œλ”λ§λ˜λŠ” 것을 λ°©μ§€ν•©λ‹ˆλ‹€ [1]. 속성 이름 μ•žμ— λ‹¬λŸ¬ 기호(`$`)λ₯Ό μ ‘λ‘μ‚¬λ‘œ λΆ™μ—¬μ„œ μ„ μ–Έν•©λ‹ˆλ‹€ [1]. 이λ₯Ό 톡해 λΆˆν•„μš”ν•œ μ»€μŠ€ν…€ μŠ€νƒ€μΌλ§ 속성이 μ‹€μ œ HTML μš”μ†Œμ— λ…ΈμΆœλ˜κ±°λ‚˜ ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈμ˜ λ™μž‘μ„ λ°©ν•΄ν•˜λŠ” 것을 μ•ˆμ „ν•˜κ²Œ 막을 수 μžˆμŠ΅λ‹ˆλ‹€ [1, 2]. ## πŸ“– Core κΈ°Content - **μž‘λ™ 원리와 μ‚¬μš©λ²•**: μ»΄ν¬λ„ŒνŠΈμ˜ μŠ€νƒ€μΌμ„ μ •μ˜ν•  λ•Œ μ†ŒλΉ„ν•  λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ§„ 속성에 λ‹¬λŸ¬ 기호(`$`)λ₯Ό 뢙이면(예: `$draggable`, `$customColor`) ν•΄λ‹Ή 속성은 μŠ€νƒ€μΌ μ»΄ν¬λ„ŒνŠΈ λ‚΄λΆ€μ—μ„œλ§Œ μ²˜λ¦¬λ©λ‹ˆλ‹€ [1, 3]. 예λ₯Ό λ“€μ–΄ 일반적인 `draggable` 속성과 달리 `$draggable`은 DOM μš”μ†Œμ˜ μ†μ„±μœΌλ‘œ λ Œλ”λ§λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ [2]. - **TypeScript ν™˜κ²½μ—μ„œμ˜ ν™œμš©**: TypeScriptμ—μ„œ κΈ°λ³Έ HTML νƒœκ·Έλ‚˜ μ™ΈλΆ€ React μ»΄ν¬λ„ŒνŠΈμ— μ»€μŠ€ν…€ 속성을 μ „λ‹¬ν•˜λ©΄ μ›μΉ˜ μ•ŠλŠ” 속성이 μ „μ†‘λ˜μ–΄ κ²½κ³ λ‚˜ 좩돌이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€ [4]. μ΄λ•Œ μ»€μŠ€ν…€ 속성에 `$customColor`와 같이 Transient Propsλ₯Ό μ μš©ν•˜λ©΄, λŒ€μƒ μ»΄ν¬λ„ŒνŠΈλ‘œ 속성이 λ„˜μ–΄κ°€λŠ” 것을 μ‰½κ²Œ 차단할 수 μžˆμŠ΅λ‹ˆλ‹€ [3]. - **v6 λ²„μ „μ—μ„œμ˜ ν•„μˆ˜μ„±**: `styled-components` v6 λ¦΄λ¦¬μŠ€μ—μ„œλŠ” 이전 버전에 μ‘΄μž¬ν•˜λ˜ 'μžλ™ 속성 필터링(automatic prop filtering)' κΈ°λŠ₯이 μ™„μ „νžˆ μ œκ±°λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [5, 6]. λ”°λΌμ„œ ν˜„μž¬ ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ‚˜ HTML둜 μ „λ‹¬λ˜κΈ°λ₯Ό μ›μΉ˜ μ•ŠλŠ” μŠ€νƒ€μΌ κ΄€λ ¨ μ†μ„±μ—λŠ” λ°˜λ“œμ‹œ Transient Props(`$`)λ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ [5-7]. - **λŒ€μ•ˆ λ©”μ»€λ‹ˆμ¦˜ (`shouldForwardProp`)**: μ—¬λŸ¬ 개의 κ³ μ°¨ μ»΄ν¬λ„ŒνŠΈ(HOC)λ₯Ό ν•©μ„±ν•˜λŠ” λ³΅μž‘ν•œ μƒν™©μ΄λ‚˜ 동적이고 μ„Έλ°€ν•œ 속성 필터링이 ν•„μš”ν•œ κ²½μš°μ—λŠ” Transient Props λŒ€μ‹  `shouldForwardProp` κΈ°λŠ₯을 μ‚¬μš©ν•˜μ—¬ DOM으둜 전달될 속성을 직접 μ œμ–΄ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€ [2, 8]. ## πŸ”— Knowledge Connections - **Related Topics:** [[styled-components]], [[shouldForwardProp]], [[CSS-in-JS]] - **Projects/Contexts:** [[React styling]], [[Component API Design]] - **Contradictions/Notes:** μ†ŒμŠ€μ— λ”°λ₯΄λ©΄ `styled-components` v6λΆ€ν„°λŠ” μžλ™ 속성 필터링 κΈ°λŠ₯이 μ œκ±°λ˜μ—ˆμœΌλ―€λ‘œ, v6 μ΄μƒμ˜ ν™˜κ²½μ—μ„œλŠ” DOM λ…ΈμΆœμ„ 막기 μœ„ν•΄ Transient Props의 μ‚¬μš©μ΄ 선택이 μ•„λ‹Œ ν•„μˆ˜λ‘œ κ°•μ‘°λ©λ‹ˆλ‹€ [5, 6]. --- *Last updated: 2026-04-26*