
Páginas
Inclui os componentes de nível superior definidos pelas rotas da aplicação. Eles importam componentes mais de baixo nível da pasta de módulos (mais detalhes abaixo).Módulos
Cada módulo representa uma funcionalidade ou um grupo de funcionalidades, compreendendo seus componentes específicos, estados e lógica operacional. Todos devem seguir a estrutura abaixo. Você pode aninhar módulos dentro de módulos (referidos como submódulos) e as mesmas regras se aplicarão.Contextos
Um contexto é uma maneira de passar dados através da árvore de componentes sem ter que passar propriedades manualmente em cada nível. Veja React Context para mais detalhes.”GraphQL”
Inclui fragmentos, consultas e mutações. Veja GraphQL para mais detalhes.- Fragmentos
- Consultas
- Mutações
Hooks
Veja Hooks para mais detalhes.Estados
Contém a lógica de gerenciamento de estado. RecoilJS lida com isso.- Seletores: Veja RecoilJS Selectors para mais detalhes.
Utilitários
Deve conter apenas funções puras reutilizáveis. Caso contrário, crie hooks personalizados na pastahooks.
UI
Contém todos os componentes reutilizáveis de UI usados na aplicação. Esta pasta pode conter subpastas, comodata, display, feedback e input para tipos específicos de componentes. Cada componente deve ser autocontido e reutilizável, de modo que você possa usá-lo em diferentes partes da aplicação.
Ao separar os componentes de UI dos outros componentes na pasta modules, é mais fácil manter um design consistente e fazer alterações na UI sem afetar outras partes (lógica de negócios) do código.
Interface e dependências
Você pode importar outros códigos de módulo de qualquer módulo, exceto para a pastaui. Isso manterá seu código fácil de testar.
Interno
Cada parte (hooks, estados, …) de um módulo pode ter uma pastainternal, que contém partes que são usadas apenas dentro do módulo.