2
respostas

Atributo vaLue

Olá pessoal, tudo bem?

Estou fazendo o form e ao criar o atributo vaLue, e o TS acusa erro. O VScode diz que esse atributo não foi encontrato dentro do elemento input.

vaLue={this.state.tempo}

erro:Type '{ type: "time"; className: string; placeholder: string; id: string; name: string; step: string; vaLue: string; onChange: (event: ChangeEvent<HTMLInputElement>) => void; required: true; }' is not assignable to type 'DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>'.
  Property 'vaLue' does not exist on type 'DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>'. Did you mean 'value'? 
2 respostas

Olá Gustavo, tudo bem?

O erro diz que esse atributo não foi encontrado dentro do elemento input e sugere que você utilize o atributo value em vez de vaLue.

Isso acontece porque o atributo correto para definir o valor de um elemento input no React é value, e não vaLue. O TypeScript está apontando esse erro porque o tipo de propriedades do elemento input espera o atributo value.

Portanto, você pode corrigir o problema substituindo vaLue por value no seu código. Ficaria assim:

value={this.state.tempo}

Dessa forma, o valor do estado tempo será corretamente atribuído ao elemento input.

Espero ter ajudado e bons estudos!

Ah certo entendi Sarah, obrigado pela explicação. Mas acontece que o professor usou vaLue, e fiquei sem entender a diferença. Eu sabia que o atributo value é o correto, mas pelo fato do professor ter usado, fiquei na dúvida da diferença entre os 2. E no editor do professor, não acusou erro algum no atributo vaLue.