Search Input κ°μ
μ€μκ° κ²μ
νμ΄ννλ©΄μ κ²μ μ¦κ°μ μΈ κ²°κ³Ό
μλμμ±
μΆμ² κ²μμ΄ λΉ λ₯Έ μ ν
λλ°μ΄μ€
API νΈμΆ μ΅μ ν λΆνμν μμ² μ κ±°
νμ΄λΌμ΄ν
κ²μμ΄ κ°μ‘° κ°λ
μ± ν₯μ
Search Inputμ΄λ?
λ¬Έμ : κΈ°λ³Έ κ²μμ νκ³
κΈ°λ³Έ HTML<input type="search">λ κ²μ λ²νΌμ λλ¬μΌλ§ κ²μμ΄ μ€νλ©λλ€.
- λ²νΌ ν΄λ¦ νμ: μν°ν€λ λ²νΌμ λλ¬μΌλ§ κ²μ
- νΌλλ°± μ§μ°: κ²°κ³Όλ₯Ό λ³΄λ €λ©΄ κ²μ μ€ν νμ
- μλμμ± μμ: μ¬μ©μκ° λͺ¨λ κ²μ νμ΄νν΄μΌ ν¨
- μ€ν μμ μ΄λ €μ: κ²°κ³Όλ₯Ό 보기 μ κΉμ§ μ€ν λ°κ²¬ λΆκ°
ν΄κ²°: Search Input μ»΄ν¬λνΈ
Sonamuμ Search Inputμ νμ΄ννλ©΄μ μ€μκ°μΌλ‘ κ²μνκ³ μλμμ±μ μ 곡ν©λλ€.- β¨ μ¦κ°μ μΈ νΌλλ°±: νμ΄ννλ©΄μ κ²°κ³Ό νμΈ
- β¨ μλμμ±: μΆμ² κ²μμ΄λ‘ λΉ λ₯Έ μ λ ₯
- β¨ λλ°μ΄μ€: λΆνμν API νΈμΆ μ΅μν
- β¨ ν€λ³΄λ λ€λΉκ²μ΄μ : λ°©ν₯ν€λ‘ μ μ νλͺ© μ ν
κΈ°λ³Έ μ¬μ©λ²
λ¨μ κ²μ
κ°μ₯ κΈ°λ³Έμ μΈ κ²μ κΈ°λ₯μ λλ€.μλμμ± ν¬ν¨
μ μ νλͺ©μ νμν©λλ€.Serviceμ ν΅ν©
Sonamu Serviceλ₯Ό μ¬μ©νμ¬ κ²μν©λλ€.κ³ κΈ κΈ°λ₯
μν°ν°λ³ κ²μ
νΉμ μν°ν°λ₯Ό κ²μν©λλ€.νν°μ ν΅ν©
κ²μμ΄μ ν¨κ» νν°λ₯Ό μ μ©ν©λλ€.κ²μ νμ€ν 리
μ΅κ·Ό κ²μμ΄λ₯Ό μ μ₯νκ³ νμν©λλ€.νμ΄λΌμ΄ν
κ²μμ΄λ₯Ό κ²°κ³Όμμ κ°μ‘° νμν©λλ€.컀μ€ν Hook ν¨ν΄
useSearch Hook
κ²μ λ‘μ§μ μ¬μ¬μ© κ°λ₯ν HookμΌλ‘ μΆμνν©λλ€.useSearchSuggestions Hook
μλμμ± μ μμ κ΄λ¦¬ν©λλ€.μ€μ μμ
κΈλ‘λ² κ²μ
μ¬μ΄νΈ μ 체λ₯Ό κ²μν©λλ€.λ€λΉκ²μ΄μ κ²μ
ν€λμ ν΅ν©λ κ²μμ λλ€.μ±λ₯ μ΅μ ν
λλ°μ΄μ€ μ΅μ ν
κ²μ λΉλμ λ°λΌ λλ°μ΄μ€ μκ°μ μ‘°μ ν©λλ€.μΊμ± μ λ΅
TanStack Queryλ‘ κ²μ κ²°κ³Όλ₯Ό μΊμ±ν©λλ€.μμ² μ·¨μ
μ»΄ν¬λνΈ μΈλ§μ΄νΈ μ μ§ν μ€μΈ μμ²μ μ·¨μν©λλ€.μ£Όμμ¬ν
λ€μ λ¨κ³
ID Async Select
κ΄κ³ λ°μ΄ν° μ ν
컀μ€ν μ»΄ν¬λνΈ
μ»΄ν¬λνΈ μ»€μ€ν°λ§μ΄μ§
View Scaffolding
μλ λ·° μμ±
TanStack Query Hook
λ°μ΄ν° μΊμ±