Pisanie kodu w React.js często przypomina poruszanie się po polu minowym, gdzie błędy nie zawsze objawiają się natychmiastowym błędem w konsoli. Częściej przybierają formę powolnej degradacji wydajności lub trudnych do zdiagnozowania efektów ubocznych, które ujawniają się dopiero przy specyficznej interakcji użytkownika. Zrozumienie wewnętrznych mechanizmów biblioteki jest kluczowe, aby przestać walczyć z narzędziem i zacząć wykorzystywać jego pełny potencjał. Wiele osób podchodzi do Reacta z bagażem przyzwyczajeń z programowania imperatywnego, co staje się źródłem najpoważniejszych problemów w architekturze aplikacji.
Podejście deklaratywne wymaga zmiany mentalnej. Zamiast instruować przeglądarkę, jak ma zmienić konkretny element DOM, definiujemy stan aplikacji, a React dba o to, by widok go odzwierciedlał.