1
resposta

sobre o bind

Galera, eu não entendi a necessidade do bind, na realidade... mesmo copiando o código do instrutor o meu código está dando erro de console.

Input

<input
          type="text"
          placeholder="Título"
          className="form-cadastro_input"
          onChange={this.handlerMudarTitulo.bind(this)}
        />

função

 handlerMudarTitulo(evento) {
    this.titulo = evento.target.value;
    console.log(this.titulo);
  }

Erro:

react-dom.development.js:3945 Uncaught TypeError: Bind must be called on a function
    at bind (<anonymous>)
1 resposta

Fala Simone, tudo bem?

O método bind() retorna uma nova função, quando invocado, tem seus thisconfigurados para um valor específico (que nesse caso seria essa nossa classe). Esse bind foi utilizado para que o this que usamos dentro da função handleMudarTitulo, seja o this da nossa classe, pois se não houvesse esse bind, o this dessa função estaria sendo referente á função, ou seja, tentaria procurar o atributo titulo dentro dessa função, e não na nossa classe. Veja mais sobre o this clicando aqui

Você está tendo esse erro pois, o nome correto do método seria handleMudarTitulo e não handlerMudarTitulo com o r no final de handle, ficando assim:

<input
          type="text"
          placeholder="Título"
          className="form-cadastro_input"
          onChange={this.handleMudarTitulo.bind(this)}
/>

Espero ter ajudado, bons estudos :D