Sobes.tech

Frontend

Dlaczego używamy funkcjonalnej aktualizacji stanu (przez przekazanie funkcji do setState z argumentem prev), zamiast po prostu count + 1?

291

Do czego właściwie służy useState i dlaczego nie możemy po prostu zmieniać zmiennej bezpośrednio lub używać useRef?

172

Jakimi zasadami kierujesz się przy projektowaniu architektury i wyborze technologii?

168

Jak rozpoznać, kiedy należy stosować optymalizacje? Czy miałeś przypadki, gdy trzeba było rozwiązać problemy z wydajnością?

154

Zadanie praktyczne: ulepszyć komponent licznika w React tak, aby po kliknięciu przycisku "Zwiększ" wartość licznika zwiększała się o 1, a do historii dodawało się wpis z nową wartością; po kliknięciu "Zmniejsz" — analogicznie; po kliknięciu "Reset" — historia była czyszczona.

145

Zaimplementuj menedżera zdarzeń, który przyjmuje zdarzenia w dowolnej kolejności i wysyła je w poprawnej kolejności według ID (zaczynając od 1, każdy kolejny o 1 więcej). Zdarzenia mogą pochodzić z wielu kanałów, a kolejność musi być zachowana oddzielnie dla każdego kanału. Duplikaty zdarzeń należy ignorować. Do wysyłki użyj funkcji sendEvent.

145

Zaimplementuj funkcję smartFetch, która jest opakowaniem wokół funkcji batchFetch do zapytań o dane z backendu po ID. Funkcja powinna gromadzić wywołania w trakcie okna czasowego (timeout) i wysyłać je jednym żądaniem zbiorczym. Oczekiwanie na kolejne okno zaczyna się zaraz po wysłaniu żądania. ID są unikalne, fetch zawsze się powodzi. Należy poprawnie obsługiwać przypadek, gdy w ramach jednego okna pojawią się duplikujące ID.

138

Jak stosowałeś menedżery stanu z punktu widzenia architektury i praktyk użytkowania?

138

Zadanie: Stwórz stronę z wielofunkcyjną tabelą kryptowalut. Należy połączyć się z API i wyświetlić listę monet w tabeli. Minimalne wymagania: Projekt stworzony od podstaw Tylko Typescript Połączenie z API Sortowanie po wartościach w kolumnie Wyszukiwanie po wartościach w komórkach (działa na zasadzie logicznego AND) Dodatkowe zadania: Własna paginacja Minimalne style (przyjemny i schludny wygląd) Ogólne wyszukiwanie po wartościach we wszystkich komórkach Możliwość przypinania kolumn

134