React: 36 pytań

Jeżeli w twoim zespole pojawiłaby się osoba, która nigdy jeszcze nie miała kontaktu z hookami w Reakcie, jak byś jej wytłumaczył(a) w jaki sposób działają?

mid

Jakie znasz formy zarządzania stanem w React i kiedy których byś użył?

junior

Wymień wady i zalety zastosowania Mobx i Reduxa w już istniejącej aplikacji React.

senior

Jaka jest różnica pomiędzy komponentem a elementem?

junior

Tworzysz komponent wirtualnej listy (wyświetla n z ∞ elementów).

propTypes: {
	startIndex: PropTypes.number,
	allItems: PropTypes.arrayOf(PropTypes.object)
}

Własność startIndex jest ustawiana przez parent component, załóżmy że na skutek przewijania kółkiem myszy.

W render function należy dla każdego elementu dom użyć key aby pomóc algorytmowi w rekonsyliacji. Skąd brać wartość atrybutu key aby zachować minimalną ilość mutacji podczas "przewijania" - inkrementowania własności startIndex.

A skąd key należałoby brać, gdyby lista nie była wirtualna?

mid

Gdzie zastosujesz createSelector z biblioteki reselect? Jak wygląda connect() z Reduxa, jeśli selektor ma być per instancja a nie globalny?

senior

Co powinien robić komponent z nieobsługiwanymi własnościami? (niewyszczególnionymi w propTypes)

mid

Dlaczego nie pisać funkcji in-line'owo w React? np.

<div
onClick = function ......
>
junior

Masz komponent listy zaznaczanej myszką. Informację o zaznaczonym elemencie oraz listę elementów zdobędziesz z redux store.

Zaprojektuj strukturę komponentów (chodzi o List, ListItem oraz odpowiednie użycie connect z Redux). Jak może ona wyglądać, gdy spodziewasz się w liście 10 elementów, a jak będzie wyglądała gdy będzie ich 200.

Przyjmij założenie, że w każdym elemencie listy znajduje się CheckBox z biblioteki material-ui który w componentDidUpdate wykonuje pewne operacje na DOM które zajmują 10ms.

senior

Napisz higher order component, który wyświetli spinner gdy nie ma danych (np. o nazwie data) oraz przekazany komponent gdy dane są.

senior

Jakiego polecenia npm użyjesz w konsoli do stworzenia podstawowej struktury projektu?

junior

W jaki sposób dokonać walidacji przekazanych propsów do komponentu?

junior

W jaki sposób możemy uniknać niepotrzebnego przerenderowania danego komponentu?

mid

Za pomocą jakich znaczników możemy opakować zawartość wyrenderowanego komponentu jeśli nie chcemy używać tagów HTML-owych?

mid

Czy reducer to tzw. pure function?

junior

Dlaczego stan zwracany z reducera jest nowym obiektem?

mid

Opisz przepływ danych w aplikacji która, korzysta z redux?

junior

Dlaczego przekazanie metody z klasy np. do onClick może nie działać poprawnie? Jakie są rozwiązania tego problemu? Podpowiedź: Chodzi o this.

junior

Dlaczego tak ważne jest, żeby unikać mutowania obiektów, które przekazujemy jako propsy lub ustawiamy jako stan w komponencie?

junior

Jakie argumenty przyjmuje funkcja this.setState(…)? Czym się różni przekazanie jako pierwszego argumentu obiektu od przekazania tam funkcji?

junior

Czegoś brakuje? Możesz dodać własne pytania!