Jak uniknąć pokazania odpowiedzi dla starszego wyszukiwania?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Każde wyszukiwanie oznaczam jako osobne żądanie. Gdy użytkownik wpisuje nową frazę, wcześniejsza odpowiedź nie może już nadpisać nowej. Mogę próbować anulować poprzedni odczyt i dodatkowo sprawdzać, czy wynik nadal należy do aktualnego żądania.
Przykład: wynik dla „re” wrócił po wyniku dla „react”. Nadal powinnam pokazywać „react”. Samo opóźnienie wysyłania zapytań, czyli debounce, ogranicza ich liczbę, ale nie gwarantuje kolejności odpowiedzi. Test powinien celowo zakończyć drugie żądanie przed pierwszym. W ten sam sposób chronię się przed błędem starego żądania, który mógłby zasłonić nowszy sukces.
Dlaczego to ważne: Bardzo realistyczna poprawka w krótkim zadaniu React.
Możliwe dopytania: Co po odmontowaniu komponentu? Czy klient HTTP zawsze honoruje anulowanie?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Zacznij od
- C-P01 · Czym jest React i czym jest komponent? — React, Next.js i frontend
- C-P02 · Czym różnią się props i state? — React, Next.js i frontend
- C-P04 · Do czego służy useEffect i co oznacza tablica zależności? — React, Next.js i frontend
Powiązane pytania
Przećwicz w kodzie
- Wyszukiwarka, która pokazuje stary wynik — uruchamia testy w przeglądarce
Dalsza lektura
- React: Synchronizing with Effects(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Cel efektów, cleanup i ochrona przed nieaktualnymi wynikami.