Pytania rekrutacyjne z zarządzania stanem (Middle) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu Zarządzanie stanem (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Ile będzie wynosić
countpo jednym kliknięciu, jeśli wartość początkowa to 0? - 2.Jak zresetować stan komponentu formularza po zmianie wybranego użytkownika?
- 3.Dlaczego przechowywanie kopii propa w stanie może być błędem?
- 4.Jak przekazać
dispatchzuseReducergłęboko w drzewo bez prop drillingu? - 5.Po co jest trzeci argument
initwuseReducer(reducer, arg, init)? - 6.Dlaczego wszyscy konsumenci kontekstu renderują się ponownie przy każdym renderze providera?
- 7.Komponent używa tylko
themez dużegoAppContext, ale renderuje się przy każdej zmianie koszyka. Co pomoże? - 8.Dlaczego
React.memonie pomaga komponentowi, który wywołujeuseContext(CartContext)? - 9.Czy Context jest biblioteką do zarządzania stanem?
- 10.Co się stanie przy zagnieżdżonych providerach tego samego kontekstu?
- 11.Kiedy lepiej umieścić wartość w Contexcie, zamiast przekazywać ją jawnie przez propsy?
- 12.Co jest nie tak z tym case reducerem?
- 13.Jakie akcje wysyła
createAsyncThunk('users/fetch', fn)? - 14.Dlaczego ten selektor renderuje komponent przy każdej wysłanej akcji?
- 15.Do czego służy
extraReducerswcreateSlice? - 16.Jak otypować
useSelectoriuseDispatchw projekcie TypeScript? - 17.Co daje znormalizowany stan (
{ ids, entities })? - 18.Co sprawdza
configureStorew trybie deweloperskim? - 19.Czy warto trzymać stan pól formularza (każde naciśnięcie klawisza) w Reduxie?
- 20.Dlaczego ten komponent renderuje się przy każdej zmianie store'a?
- 21.Dlaczego selektor zwracający nowy obiekt powoduje zbędne rendery (lub nieskończoną pętlę w v5)?
- 22.Jak odczytać lub zaktualizować store Zustand poza komponentami React (np. w helperze API)?
- 23.Jak
setw Zustand obsługuje zagnieżdżone obiekty? - 24.Jak zwykle organizuje się duży store Zustand?
- 25.Dlaczego store z
persistmoże spowodować hydration mismatch w aplikacjach SSR? - 26.Czym
staleTimeróżni się odgcTime? - 27.Czym
isPendingróżni się odisFetching? - 28.Jak odświeżyć listę po tym, jak
useMutationutworzył element? - 29.Których zapytań dotyczy
invalidateQueries({ queryKey: ['todos'] })? - 30.Jak uruchomić zapytanie dopiero wtedy, gdy inne zwróci
user.id? - 31.Jak przy paginacji pokazywać poprzednią stronę, gdy ładuje się następna?
- 32.Co TanStack Query domyślnie robi z nieudanym zapytaniem?
- 33.Dlaczego każda zmienna używana przez
queryFnmusi być częściąqueryKey? - 34.Jak sprawić, by mutacja RTK Query ponownie pobrała listę postów?
- 35.Kiedy RTK Query usuwa nieużywane dane z cache?
- 36.Jak pominąć zapytanie RTK Query, dopóki argument nie jest dostępny?
- 37.Jak RTK Query unika zduplikowanych żądań, gdy 3 komponenty wywołują
useGetUserQuery(1)? - 38.Co robi opcja
refetchOnMountOrArgChangew RTK Query? - 39.Kiedy SWR domyślnie automatycznie rewaliduje dane?
- 40.Jak w SWR pobierać dane tylko po spełnieniu warunku?
- 41.Co robi
mutate(key)zuseSWRConfig? - 42.Dlaczego dwa komponenty z tym samym kluczem SWR wykonują tylko jedno żądanie?
- 43.Jak ustawić domyślny
fetcheri opcje dla wszystkich hooków SWR? - 44.Jak komponent odczytuje dane zwrócone przez
loaderjego trasy? - 45.Co się dzieje po zakończeniu
actionw React Router? - 46.Jak pokazać stan oczekiwania podczas nawigacji lub wysyłania formularza w React Router?
- 47.Kiedy warto użyć
useFetcherzamiast<Form>? - 48.Jak przekierować z
actionpo utworzeniu elementu? - 49.Dane serwerowe są w TanStack Query. Co zwykle zostaje dla globalnego store'a klienta?
- 50.Jak RTK Query ma się do TanStack Query?
- 51.Do czego służy callback
preparew reducerzecreateSlice? - 52.Jak obsłużyć stan
pendingwielu thunków jednym case'em w slice'ie? - 53.Czy warto przechowywać
cartTotalw stanie Reduxa obokitems? - 54.Jak pominąć thunk, jeśli dane są już załadowane lub się ładują?
- 55.Jak komponent może dostać wynik thunka lub złapać jego błąd?
- 56.Jak dodać endpointy RTK Query z leniwie ładowanej funkcji aplikacji?
- 57.Jak ponownie pobierać zapytanie RTK Query co 30 sekund, dopóki komponent jest zamontowany?
- 58.Jak sprawić, by komponent renderował się ponownie tylko przy zmianie jednego posta z buforowanej listy?
- 59.Co robi drugi argument
truewset(newState, true)w Zustand? - 60.Po co niektóre zespoły grupują akcje Zustand w zagnieżdżony obiekt
actions? - 61.Czym różni się
initialDataodplaceholderDataw TanStack Query? - 62.Co daje helper
queryOptions? - 63.Jak odpytywać zapytanie co 10 sekund w TanStack Query?
- 64.Czym różni się
mutateAsyncodmutate? - 65.Jak równolegle pobrać dynamiczną liczbę zapytań (np. po jednym na wybrane id)?
- 66.Jak sprawić, by otwarcie strony szczegółów było natychmiastowe?
- 67.Który hook SWR realizuje paginację „załaduj więcej”?
- 68.Jak rozpocząć żądanie SWR przed renderem komponentu (np. przy najechaniu)?
- 69.Co robi
keepPreviousData: truew SWR przy zmianie klucza (np. nowego zapytania wyszukiwania)? - 70.Co się dzieje, gdy loader w React Router rzuca błąd?
- 71.Czym jest
clientLoaderw framework mode React Router? - 72.Po co aktualizować parametry wyszukiwania z
{ replace: true }, gdy użytkownik wpisuje filtr? - 73.Czym różnią się aktualizacje optymistyczne od pesymistycznych?
- 74.Jak plakietka w nagłówku może pokazywać wszystkie oczekujące mutacje „dodaj do koszyka” z innych komponentów?
- 75.Jak wpiąć strumień cen z WebSocketa w bufor SWR?