
Pagine
Include i componenti di alto livello definiti dalle rotte dell’applicazione. Importano componenti di livello inferiore dalla cartella moduli (vedi dettagli sotto).Moduli
Ogni modulo rappresenta una funzionalità o un gruppo di funzionalità, comprendente i suoi componenti specifici, stati e logica operativa. Dovrebbero tutti seguire la struttura sottostante. Puoi nidificare moduli all’interno di moduli (indicati come sottomoduli) e le stesse regole si applicano.Contesti
Un contesto è un modo per passare dati attraverso l’albero dei componenti senza dover trasmettere i props manualmente a ogni livello. Vedi React Context per ulteriori dettagli.GraphQL
Include frammenti, query e mutazioni. Vedi GraphQL per ulteriori dettagli.- Frammenti
- Query
- Mutazioni
Hook
Vedi Hooks per ulteriori dettagli.Stati
Contiene la logica di gestione degli stati. RecoilJS se ne occupa.- Selettori: Vedi RecoilJS Selectors per ulteriori dettagli.
Utilità
Dovrebbe contenere solo funzioni pure riutilizzabili. Otherwise, create custom hooks in thehooks folder.
UI
Contiene tutti i componenti UI riutilizzabili usati nell’applicazione. Questa cartella può contenere sottocartelle, comedata, display, feedback e input per tipi specifici di componenti. Ogni componente dovrebbe essere autonomo e riutilizzabile, così da poterlo utilizzare in diverse parti dell’applicazione.
Separando i componenti UI dagli altri componenti nella cartella moduli, è più facile mantenere un design coerente e apportare modifiche alla UI senza influenzare altre parti (logica di business) del codice.
Interfaccia e dipendenze
Puoi importare codice di altri moduli da qualsiasi modulo eccetto dalla cartellaui. Questo manterrà il suo codice facile da testare.
Interni
Ogni parte (hook, stati, …) di un modulo può avere una cartellainterni, che contiene le parti che vengono utilizzate solo all’interno del modulo.