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.
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.
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 :)