Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

219
Views
Lodash Debounce y Apollo Client useLazyQuery elimina rebotes una vez

Al intentar usar _.debounce(fn, wait); para invocar una llamada useLazyQuery(...) de apollo-client, rebota la consulta la primera vez y luego invoca la función de consulta, pero después de eso sigue invocando la consulta con cada cambio sin ningún rebote.

Sin embargo, si estoy usando una console.log(...) en lugar de la useLazyQuery(...) funcionaría perfectamente.

Funciona la primera vez, pero luego llama a la función de inmediato sin ningún rebote:

 const [value, setValue] = useState(''); const [search, { loading, data }] = useLazyQuery(SEARCH_QUERY, { variables: { searchString: value } }); const debouncer = React.useCallback(_.debounce(search, 1500), []); ... <call to debouncer() with onChange event>

Funciona perfectamente cada vez:

 const [value, setValue] = useState(''); const [search, { loading, data }] = useLazyQuery(SEARCH_QUERY, { variables: { searchString: value } }); const debouncer = React.useCallback(_.debounce(val => (console.log(val)), 1500), []); ... <call to debouncer() with onChange event>
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Para este problema, ni siquiera necesita un estado; versión simplificada:

 import { useCallback } from 'react'; import { useLazyQuery } from '@apollo/client'; import _ from 'lodash'; function App() { const [search, { loading, data }] = useLazyQuery(SEARCH_QUERY); const debouncer = useCallback(_.debounce(search, 1000), []); return ( <input type='text' onChange={e => debouncer({ variables: { code: e.target.value } })} /> ); }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!