JSμμ μ΅μ νμμ ? μ κ°κΉμ΄ κ°λ μ λλ€.
λ°λ‘ μμνκ±°λ κ°λ μ μκ³ κ°λ°ν μ μ μλλ°, μ΄λ²κΈ°νμ μ λ μ°Ύμ보면μ 곡λΆνκ³
μμΌλ‘μ κ°λ°μ μμ΄ μ’μ λ°κ±°λ¦μ΄ λ λ―μΆμ΅λλ€.
λλ°μ΄μ±(Debouncing)
λΉλ²νκ² λ°μνλ μ΄λ²€νΈλ₯Ό νΉμ μκ° μ΄νμ ν λ²λ§ μ€νμν€λ©΄ λλ μ΅μ ν κΈ°λ²μ λλ€.
μμ
κ°λ¨ν μμλ‘ μ€λͺ λ리면, νμκ°μ νμ΄μ§κ° μλ€κ³ μκ°ν΄ λ΄ μλ€.
νμκ°μ μ 보 μ λ ₯ ν, submitλ²νΌμ λλ¬ μ μΆνλλ° μ΄ λ²νΌμ κ΄ν΄ν΄μ 500msμ 5λ² ν΄λ¦νκ² λλ©΄, postλ‘ λ°μ΄ν°κ° 5λ² μ λ¬νκ² λ κ²μ λλ€.
μ¬κΈ°μ λλ°μ΄μ± κ°λ μ μ¬μ©ν΄μ νΉμ μκ°μ 500msλ‘ μ€μ νκ² λλ©΄, 500ms λμ ν΄λ¦ν 5λ²μ΄ μ λΆ μ λ¬λλ κ² μλλΌ λ§μ§λ§ 1λ²λ§ μ λ¬ λκ² ν¨μΌλ‘μ¨ ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μμ΅λλ€.
μ£Όλ‘ μ΄λμ μ¬μ©ν κΉ?
λλ°μ΄μ±μ μ±λ₯λ ν¨μ¨μ μΌλ‘ λ§λ€μ§λ§, μ λ£ APIλ₯Ό μ¬μ©ν λ ν° ν¨κ³Όλ₯Ό λ³Ό μ μμ΅λλ€.
μ λ Reactλ§ κ°λ°νκ³ μκ³ , μ£Όλ‘ μ€ν APIλ§ μ¬μ©ν΄μ μ λ£ APIλ₯Ό μ¬μ©ν΄ λ³Έ μ μ μμ§λ§,
λλ°μ΄μ±μ 무μνκ³ κ°λ°νκ² λλ©΄ ν΄λ¦ ν λ²μ μ¬μ©λ£λ₯Ό μ§λΆν΄μΌ λκΈ° λλ¬Έμ ν¬λ¦¬ν°μ»¬ ν μ΄μκ° λ°μν κ²μ λλ€.
μ£Όλ‘ κ²μν λ μ¬μ©λλ€κ³ ν©λλ€.
μ°λ‘νλ§(Throttling)
μ¬μ©μκ° μ΄λ²€νΈλ₯Ό λͺ λ²μ λ°μμν€λ μΌμ ν μκ° κ°κ²©μΌλ‘ ν λ²λ§ μ€ννλλ‘ νλ κΈ°λ²μ λλ€.
μμ
μ¬μ©μκ° μ΄λ²€νΈλ₯Ό μ°λ¬μ μ€ννμ λ, μ°λ‘νλ§κΈ°λ²μ μ¬μ©νλ©΄ λ§μ§λ§ν¨μλ₯Ό κΈ°λ€λ¦¬μ§ μκ³ , 첫 λ²μ§Έ ν΄λ¦μ μν μ΄λ²€νΈλ§ μ€ννκ³ λλ¨Έμ§λ 무μνκ² λ©λλ€.
μ€μν ν¬μΈνΈλ λλ°μ΄μ±κ³Ό λ¬λ¦¬ 첫 λ²μ§Έ 1λ²λ§ μ€νλλ€λ μ μ λλ€.
μ£Όλ‘ μ΄λμ μ¬μ©ν κΉ?
짧μ μ£ΌκΈ°λ‘ μ€νλλ μ΄λ²€νΈμ μ¬μ©λλ€κ³ ν©λλ€. μ€ν¬λ‘€μ΄λ λ§μ°μ€ μμ§μκ°μ΄ μ°μμ μΌλ‘ μ€νλλ κ³³μ΄λ, λ²νΌμ μ¬λ¬λΆ λλ₯Ό κ²½μ°κ° μλ κ³³?μΌλ‘ 보μλ©΄ μ’μ κ±° κ°μ΅λλ€.
μ
κ°λ¨νκ² μμλ‘ counterλ₯Ό λλ €λ³΄λ μ½λμ λλ€.
λλ°μ΄μ± κ°μ κ²½μ°λ κ³μ λλ₯΄κ² λλ©΄ clearλ₯Ό κ³μνλ€κ° λ§μ§λ§ μ΄λ²€νΈλ§ μ€ννκ² λκ³ ,
μ°λ‘νλ§ κ°μ κ²½μ°λ μ²μμ λλ₯Έ λ€λ‘ κ³μ undefinedλ‘ μ΄κΈ°νν΄μ£Όκ² λ©λλ€.
λλ°μ΄μ±μ΄λλ μ°λ‘νλ§μ΄λ κ°λ μ κ°μ§ μκ³ , κ°λ°νλ€ λ³΄λ©΄ μ¦ν₯μ μΌλ‘ μ¬μ©ν λ²ν κΈ°λ²μΈ κ±° κ°μ΅λλ€.
μ€λ³΅μ²λ¦¬λ₯Ό λ§κΈ° μν κ²μ΄λκΉ..
μ΄λ²κΈ°νμ μ νν μ©μ΄μ κ°λ μ μ‘κ³ λμ΄κ°λ©΄ μ’μ κ±° κ°μ΅λλ€.