1
resposta

Por que eu consegui fazer funcionar sem o bind?

A minha dúvida não é quanto a aula, pois entendi o porquê do bind etc; eu acertei algo sem saber e agora quero saber kkkkk

Eu curiosamente, antes dele terminar de explicar o porquê do erro do 'this is undefined', considerei de colocar o 'event' no lugar do this. Usando o parâmetro para validar a function (raciocinei assim). Funcionou, mas não sei se fez sentido isso, por que funcionou? :D

handleMudancaTitulo(event) {
    event.titulo = evento.target.value;
    console.log(event.titulo);
  }
1 resposta

Marlon, tudo bem?

Não sei te explicar o conceito teórico disso, mas sei que quando você chama um evento (onClick, onChange, ...) ele passa o evento que disparou implicitamente como parâmetro para dentro da função.

E este event é um objeto, neste caso do seu código você está acrescentando o atributo titulo dentro deste objeto.

Exemplo:

handleMudancaTitulo (event) {
    event.titulo = event.target.value;
    console.log(event.titulo);
  }

  <Input onChange={handleMudancaTitulo} value="Novo título"/>
  // Você está fazendo isso daqui no objeto event
  event = {
        ...event,
        titulo: "Novo título"
    }