Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Diferença ao chamar o aoAlterado

Olá Pessoal!

Durante a terceira aula, o professor criou o "evento" aoAlterado, que, por exemplo, em um dos campos texto ficou assim:

aoAlterado={valor => setImagem(valor)}

Enquanto eu estava fazendo, eu acabei esquecendo de colocar dessa forma e coloquei apenas a função retornada da chamada do useState, ficando assim:

aoAlterado={setImagem}

Até onde eu pude ver, funcionou normalmente... ele sempre atualiza o estado quando muda o valor, então eu fiquei na dúvida... o jeito q eu fiz daria algum problema? Tem alguma explicação do pq foi feito daquele jeito?

Obrigado!!

1 resposta
solução!

Olá Eduardo!

A forma como você fez também está correta e não deve causar problemas. A diferença entre as duas formas está na passagem do valor para a função aoAlterado.

Quando você utiliza aoAlterado={valor => setImagem(valor)}, você está criando uma função anônima que recebe o valor e chama a função setImagem com esse valor. Ou seja, toda vez que o valor do campo texto for alterado, a função aoAlterado será chamada e irá atualizar o estado imagem com o novo valor.

Já quando você utiliza aoAlterado={setImagem}, você está passando a própria função setImagem como referência para o aoAlterado. Nesse caso, o aoAlterado não recebe o valor diretamente, mas quando for chamado, ele irá passar o valor como parâmetro para a função setImagem. Isso também irá atualizar o estado imagem com o novo valor.

Portanto, ambas as formas são válidas e funcionam da mesma maneira. A diferença está na forma de passar o valor para a função setImagem.

Espero ter ajudado e bons estudos!