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

342
Views
Jest no puede realizar una actualización de estado de reacción en un componente desmontado

Estoy implementando algunas pruebas unitarias para diferentes componentes en NextJs y react-testing-library y en algún momento debería hacer algunas pruebas para una búsqueda de inicio.

Cuando me concentro en mi entrada de texto de búsqueda, envío un mensaje a la API para recuperar algunos datos y luego mostrar los datos devueltos como un menú desplegable. Entonces, cuando se enfoca, los datos deben aparecer como un menú desplegable.

Pero recibo un error que dice Can't perform a React state update on an unmounted component cuando ejecuto mi prueba.

PD : ya me he burlado de mi respuesta API.

Así es como lo he puesto:

 const showDepartureList = useCallback(async () => { const response = await ws.sendMessage({ api: "homeSearchFlights", act: "flights", payload: { type: "init", data: {} } }); if (response && response.departure) { setDepartureList(response.departure); setShowDepartures(true); } else { setDepartureList([]); setShowDepartures(false); } return null; }, [ws, setDepartureList, setShowDepartures]); return( <StyledSearchInput data-testid="test-departure-search-input" ref={departureRef} placeholder={t("search.homeSearchPackageDeparturePlaceholder")} value={departure} onChange={handleDeparture} onFocus={showDepartureList} /> {showDepartures && <AutocompleteList data-testid="flights-departure-list"> {departureList.map( (dep, i) => <AutocompleteItem onClick={() => handleDeparture({ id: dep.Id, name: dep.Name })} key={i}>{dep.IntName} ({dep.Name})</AutocompleteItem> )} </AutocompleteList>} )

Y así es como estoy realizando la prueba.

 it("Should show the packages departure list", async () => { const homePage = render(<Wrapper {...homePageProps} />); fireEvent.click(homePage.getByTestId(/test-packages-search-tab/)); fireEvent.focus( screen.getByTestId(/test-departure-search-input/) ); await waitFor(async () => { expect(screen.getByTestId(/packages-departure-list/)).toBeInTheDocument(); }); });
about 4 years ago · Juan Pablo Isaza
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!