Zastanawiam się od jakiegoś czasu nad wymaganiami stawianymi React developerom.
Silny JavaScript (a teraz to również TypeScript).
Elastyczność i gotowość do bycia na bieżąco i żeby co roku zmieniać sposób, w jaki się pisze aplikacje, bo weszła nowa wersja Reacta / powstała nowa libka do zarządzania stanu / nowy framework (przez framework mam na myśli np. Next.js, a nie sam React), nowa biblioteka do testowania, nowe "dobre praktyki" aktualnie zalecane przez React-celebrytów na Twitterze.
Oraz, może to zabrzmi dziwnie, ale moim zdaniem umiejętność konceptualizacji tego, jak działają apki Reactowe, pewnego rodzaju wyobraźnia (podparta praktyką). React ma specyficzny model działania (i ciągle twórcy go zmieniają, React ewoluuje) z którego trzeba zdawać sobie sprawę. Plus zwykle z Reacta się korzysta z dodatkowymi bibliotekami (np. Redux), które wprowadzają dodatkowy narzut koncepcyjny, bo trzeba nie tylko wyobrażać sobie przepływ danych w React, ale również trzeba wyobrażać sobie, jak dane przepływają w tych dodatkowych bibliotekach.
Bez tej wyobraźni (podpartej wiedzą i praktyką) łatwo zrobić coś, co będzie:
- albo przeczące sensowi używania Reacta (np. używanie jQuery do manipulacji DOM w React XD)
- albo może generować trudne do zlokalizowania błędy (np. mutowanie bezpośrednio stanu czy to w React czy Redux)
- albo może być nie tyle groźne, co zbyteczne, nieoptymalne (np. sprawiające, że React będzie niepotrzebnie coś renderował po kilka razy)