Things you forgot (or never knew) because of React

Eu nu inteleg hate-ul pentru React, poti face orice cu el, documentatia acum e la nivelul lui Rust, e exceptional de bine scrisa. La multe librarii necesare pe langa nivelul e la fel de bun. Ca si limbaj e JS/TS, nu trebuie sa inveti ceva domain language…
Nu inteleg cum poate cineva spune ca React e complex, probabil n-a incercat sa faca macar un TO DO list in Angular.

Gasesti solutii cam la orice, ecosistemul e urias, ai solutii pentru iframe-uri/module federation/microfrontends/module/aplicatie react importata in react asincron, react pe server, rendering 3D cu react (react-fiber).

Debugging-ul si testarea e usoara (vezi one way data flow), exista mii de exemple/articole pentru a invata cum sa faci asta.

Svelte in cel mai bun caz e bun pentru niste form-uri si tabele cu infinite scroll, in nici un caz nu l-as folosi la o aplicatie complexa… Faptul ca ai mutable state e foarte fain, pana cand nu faci mutatie la 200 de variabile deodata si nu mai stii ce schimba ce ca la jQuery/AngularJS. Inteleg, nu ai virtual dom, e rapid browserul, dar practic prin asta eu inteleg ca iti permite sa scrii cod foarte prost care schimba tot aiurea fiindca nu trebuie sa fii atent la ce faci.

Alternativa frumoasa la react e solidjs.com, dar inca nu exista ecosistemul necesar pentru a face ceva mai complex si e si ciudat in unele locuri.

Eu prefer codul declarativ fiindca e mai usor de inteles cand e vorba de ceva complex, codul imperativ trebuie ‘rulat’ in cap daca nu l-ai scris tu. Vezi un chart desenat in JS instructiune cu instructiune vs un chart declarat.

Acum daca incerci sa folosesti React vanilla, da, it sucks bigtime in special la forms. Partea buna e ca motivul pentru care e urat de folosit il face si de incredere si usor de rationalizat.

Singura mea problema e ca librariile se schimba major o data la 1-2 ani si ar fi necesar un refactor major ca sa poti sa treci la noua versiune pentru ceva feature nou.

Am scris componente complexe in React precum tree-uri, tabele cu infinite scroll, widget-uri, wizard-uri, chart-uri, editor de cod, editor de text si de la 0 si cu librarii si a fost ok. Singura problema a fost cu redux acum 3 ani, era criminal de mult boilerplate/de testat doar pentru coverage in unele cazuri.

Acum, cand ai nevoie de o componenta, doar componenta si ceva mai special unde e ok si vanilla JS ai lit, care e exact ce trebuie.

3 Likes

That :smiling_face_with_tear: