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. You can nest modules within modules (referred to as submodules) and the same rules will apply.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
Hooks
Více podrobností naleznete v Hooks.Stavy
Obsahuje logiku správy stavů. To řeší RecoilJS.- Selektory: Více podrobností naleznete v RecoilJS Selectors.
Utils
Měly by obsahovat pouze znovupoužitelné čisté funkce. Otherwise, create custom hooks in thehooks folder.
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.