
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ție sau un grup de funcții, 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
Cârlige
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ă cârlige 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 module, este mai ușor de menținut un design consistent și de efectuat modificări la interfata 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 (cârlige, stări, …) dintr-un modul poate avea un folderintern, care conține părți care sunt doar utilizate în cadrul modulului.