Stránky
Zahrnuje komponenty nejvyšší úrovně definované aplikačními trasami. Importují více nízkoúrovňových komponent ze složky modulů (více podrobností níže).Moduly
Každý modul představuje funkci nebo skupinu funkcí s jejich specifickými komponenty, stavy a provozní logikou. Všechny by měly dodržovat strukturu níže. Moduly můžete vnořovat do sebe (tzv. podmoduly) a platí pro ně stejná pravidla.Kontexty
Kontext je způsob, jak předávat data skrz strom komponent, aniž by se musely na každé úrovni ručně předávat props. Více podrobností naleznete v React Context.GraphQL
Zahrnuje fragmenty, dotazy a mutace. Více podrobností naleznete v GraphQL.- Fragmenty
- Dotazy
- Mutace
Hooky
Více podrobností naleznete v Hooks.Stavy
Obsahuje logiku správy stavů. To řeší RecoilJS.- Selektory: Více podrobností naleznete v RecoilJS Selectors.
Pomocné funkce
Měly by obsahovat pouze znovupoužitelné čisté funkce. V opačném případě vytvořte vlastní hooky ve složcehooks.
UI
Obsahuje všechny znovupoužitelné komponenty UI použité v aplikaci. Tato složka může obsahovat podsložky, jako jsoudata, display, feedback a input pro specifické typy komponent. Každá komponenta by měla být samostatná a znovupoužitelná, takže ji můžete použít v různých částech aplikace.
Oddělením komponent UI od ostatních komponent ve složce modules je snazší udržovat konzistentní design a provádět změny v rozhraní, aniž by to ovlivnilo jiné části (obchodní logiku) kódové základny.
Rozhraní a závislosti
Můžete importovat kód jiných modulů z jakéhokoliv modulu kromě složkyui. Díky tomu zůstane jeho kód snadno testovatelný.
Interní
Každá část (hooky, stavy, …) modulu může mít složkuinternal, která obsahuje části používané pouze v rámci modulu.