Synchro-TEC / apollo-11

Failure is not an option
http://espresso.synchro.com.br/
MIT License
4 stars 2 forks source link

Forms, Inputs, Select e Afins #34

Open marcio opened 7 years ago

marcio commented 7 years ago

Vamos analisar as possibilidades da criação de componentes para auxiliar a criação de formulários.

Provavelmente faça sentido ele ser quebrado em componentes menores, como Inputs, Selects, Textxarea, etc.

Não to pensando aqui num gerador de form, mas maneiras se simplificar o uso de necessidades comuns como campo com máscara, validação ao sair, etc...

studiojms commented 7 years ago

Será que nesse caso se encaixa também encapsular o uso de componente externo em um componente? Uma espécie de decorator?

Uma prática que já vi em alguns lugares é de usar um componente como um decorator para acessar funcionalidades de outro, com isso, caso o componente que é dependência precise ser substituído, o único que sofreria alterações seria o componente que decora o outro.

ex: Tenho um componente Select que encapsula o ReactSelect. Caso um dia queria trocar o ReactSelect por um outro, o único impactado é o Select.

marcio commented 7 years ago

Penso que nesse momento seria só os componentes básicos mesmo, para encapsular lógicas mais simples de validação (valido e inválido), input que só aceita números, etc. Um set de componentes de forms mais básico.

Acho num segundo momento até faz sentido encapsular algumas coisas, mas isso geralmente é muito trabalhoso de manter e acho muito difícil de um dia trocar um componente por outro, pois no caso do react select por ex, vamos ter que expor toda a api dele, se em um outro momento optarmos por outro select com uma api totalmente diferente, provavelmente teremos que mudar muita coisa para manter a legibilidade da dsl do componente.

Iria mais para o caminho de homologar os componentes de 3º.