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

362
Views
error de react-bootstrap-typeahead: se llamó a flushSync desde dentro de un método de ciclo de vida

Estoy tratando de usar react-bootstrap-typeahead en un proyecto. Funciona como se esperaba cuando lo pruebo en un entorno limitado en línea (puedo expandir el menú desplegable y hacer una selección). Cuando trato de usarlo en mi proyecto, el componente se procesa, pero al hacer clic en él, la página se bloquea con un error:

 react-dom.development.js:24447 Uncaught Error: flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.

A continuación se muestra el componente de prueba que estoy tratando de representar que tomé de otra publicación de desbordamiento de pila

 import React, { useState } from 'react'; import { Typeahead } from 'react-bootstrap-typeahead'; const MyTypeahead= () => { const [selected, setSelected] = useState([]); return ( <div> <Typeahead id="basic-typeahead-example" labelKey="state" onChange={setSelected} options={[ { state: 'AL' }, { state: 'AK' }, { state: 'AZ' }, { state: 'AR' }, { state: 'CA' }, ]} placeholder="Choose a state..." selected={selected} /> </div> ); }; export default MyTypeahead;

¿Qué falta? Tengo la sensación de que hay una especie de gran brecha en mi comprensión de la gestión estatal.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No pase la función useState-update directamente en onChange. En su lugar, escriba una devolución de llamada y pásela. Además, en su caso, no necesita usar objetos en las opciones, solo use cadenas simples:

 const MyTypeahead = () => { const [selected, setSelected] = useState([]); const handleChange = (selected) => setSelected(selected); return ( <div> <Typeahead id="basic-typeahead-example" labelKey="state" onChange={handleChange} options={["AL", "AK", "AZ", "AR", "CA"]} placeholder="Choose a state..." selected={selected} /> </div> ); }; export default MyTypeahead;

https://codesandbox.io/s/adoring-pare-33v6oh

Con respecto a flushSync, es un problema conocido en el repositorio:

https://github.com/ericgio/react-bootstrap-typeahead/issues/715

Aunque se muestra el mensaje de error, el componente de escritura anticipada parece funcionar como debería. Sugeriría ignorar este mensaje de error hasta que se solucione.

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!