Pagini
Include componentele de nivel superior definite de rutele aplicației. Importă componente de nivel mai scăzut din folderul de module (mai multe detalii mai jos).Module
Fiecare modul reprezintă o funcționalitate sau un grup de funcționalități, cuprinzând componentele, stările și logica operațională specifice. Toate ar trebui să urmeze structura de mai jos. Poți introduce module în cadrul altor module (denumite submodule), iar aceleași reguli se vor aplica.Contexturi
Un context este o modalitate de a transmite date prin arborele de componente fără a fi necesar să transmiți manual proprietățile la fiecare nivel. Vezi React Context pentru mai multe detalii.GraphQL
Include fragmente, interogări și mutații. Vezi GraphQL pentru mai multe detalii.- Fragmente
- Interogări
- Mutații
Hook-uri
Vezi Hooks pentru mai multe detalii.Stări
Conține logica de gestionare a stării. RecoilJS gestionează aceasta.- Selectori: Vezi RecoilJS Selectors pentru mai multe detalii.
Unelte
Ar trebui să conțină doar funcții pure, reutilizabile. În caz contrar, creează hook-uri personalizate în folderulhooks.
UI
Conține toate componentele UI reutilizabile folosite în aplicație. Acest folder poate conține subfoldere, precumdata, afișaj, feedback și intrare pentru tipuri specifice de componente. Fiecare componentă ar trebui să fie autonomă și reutilizabilă, astfel încât să o poți folosi în diferite părți ale aplicației.
Prin separarea componentelor UI de celelalte componente din folderul modules, este mai ușor să menții un design consistent și să faci modificări la interfața grafică fără a afecta alte părți (logica de afaceri) ale codului.
Interfață și dependențe
Poți importa codul altor module din orice modul, cu excepția folderuluiui. Acest lucru va menține codul ușor de testat.
Intern
Fiecare parte (hook-uri, stări, …) dintr-un modul poate avea un folderintern, care conține părți care sunt doar utilizate în cadrul modulului.