Rafael Withoeft
2/11/2022 Rafael Withoeft

React - Fractal

blog-feature-image

Fala devs, neste post vamos conversar um pouco sobre a estrutura Fractal. Vamos precisar que você tenha conhecimento básico em React, tranquilo?

📑 Sobre

Quando iniciamos um projeto, sempre pensamos nas boas práticas que pretendemos implementar e existem diversos padrões que podemos adotar, para diferentes partes do projeto. Porém, quando falamos da organização de componentes, um padrão que se destaca é o Fractal, o qual permite seu projeto escalar infinitamente.

Antes de tudo, o que significa a palavra Fractal?

“Forma que mantém suas características físicas quando repartida em partes menores, embora possa cada parte possuir valores diferentes.” (Dicionário Informal).

O princípio do Fractal, no React, pode ser resumido em: “Todas as unidades se repetem”.

Okay, ainda está um pouco confuso, não? Vamos ver na prática.


📚 Fractal

Vamos imaginar a seguinte estrutura no projeto:

...
|- src - Onde está seu código...
    |-- pages - Será onde os principais componentes serão criados, se você tiver uma página de Login, um arquivo Login.js estará nesse nível...
    |-- components - Pasta para componentes compartilhados...
...

Visualizado a estrutura acima, vamos inicializar com a prática, utilizando a página de login do sistema da FW7 como exemplo.

Página de login administrativo do sistema da FW7.

Assumindo esta como a rota de /login, podemos dividir em alguns componentes, sendo: um cabeçalho, um formulário e um botão para pessoas que esqueceram a senha.

A estrutura ficaria dividida da seguinte maneira

Estrutura com os componentes da página de login.

A pasta pages conteria um componente chamado Login.js. Os sub-componentes do Login.js estarão em uma pasta chamada login, este é o nó que permitirá a organização e escala. Dentro desta pasta podemos encontrar o Header.js, Form.js e ForgotPassword.js.

Os componentes são nomeados no padrão PascalCase.

Os nós são nomeados no padrão camelCase.

Digamos que a tela de esqueci minha senha precise de novas adaptações e conteria um novo componente para exibir uma mensagem de sucesso ou erro ao usuário, bom, neste caso, nós teríamos uma pasta chamada forgotPassword e dentro dela o sub-componente.

Estrutura com o novo componente.

Podemos perceber que a utilização desta estrutura permite a escala de telas e componentes em nossa aplicação, além de deixar nosso código mais organizado. Bom, vamos ficando por aqui, não esqueça de comentar abaixo se você já conhecia este padrão e utilizava em seus projetos… Até a próxima.

🔗 Referências

Você pode obter mais informações nos links a seguir:


“Esforce-se não para ser um sucesso, mas sim para ser valioso”. (Albert Einstein)

Rafael Withoeft.

comments powered by Disqus

NOS ACOMPANHE NAS REDES SOCIAIS