1
resposta

[Sugestão] Propriedade obrigatorio

Sinceramente não entendi o porque foi declarado uma propriedade com o nome "obrigatorio", e depois foi definido que ela é opcional. Ficou confuso, acho melhor que o nome fosse outro, já que ela é opcional.

1 resposta

Olá Lucas! Tudo bem?

Isso realmente pode causar um pouco de estranheza à primeira vista. No entanto, essa abordagem é comum em programação quando queremos dar um valor padrão a uma propriedade, mas ainda queremos permitir que ela seja configurada quando necessário.

No caso do TypeScript, ao definir uma propriedade como opcional usando o símbolo ?, estamos dizendo que ela não precisa ser fornecida ao usar o componente. No entanto, dentro do componente, podemos definir um valor padrão para ela, como false no caso do "obrigatorio". Isso significa que, se você não fornecer um valor para essa propriedade, ela será tratada como false por padrão.

Por exemplo, no componente CampoTexto, a propriedade obrigatorio é opcional, mas é definida como false por padrão:

const CampoTexto = ({ aoAlterado, label, placeholder, valor, obrigatorio = false } : CampoTextoProps) => {
    // código do componente
}

Isso permite que, ao utilizar o componente CampoTexto, você só precise se preocupar em passar a propriedade obrigatorio se realmente quiser que ela seja true. Caso contrário, ela será automaticamente considerada false.

Espero que essa explicação tenha esclarecido a razão por trás dessa decisão de design. É uma maneira de tornar o componente mais flexível e fácil de usar, sem exigir que todas as propriedades sejam sempre fornecidas.

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado