1
resposta

.bind(this) -> uma opçāo diferente

Bom dia pessoal. Resolvi fazer um teste e deu certo.

Quando criamos a funções de handle, se usarmos ARROW FUNCTION ao invés de chamar uma função normal podemos criar o callback sem a necessidade de .bind(this), exemplo:

handleProductPrice = (e) => {
e.stopPropagation();
this.productPrice = e.target.value;
};

<label htmlFor="price">Product price</label>
<input
id="price"
placeholder="Price"
onChange={this.handleProductPrice}
/>

Ainda não senti nenhuma consequência negativa por ter feito isso, por enquanto o código funciona sem nenhum bug.

1 resposta

Segundo a documentação do React:

Com React, tipicamente você precisa dar bind apenas nos métodos que você passa para outros componentes. Por exemplo, <button onClick={this.handleClick}> passa this.handleCLick logo você deve dar bind nele.

Porém, segundo este post, pode ser que o recurso de class fields esteja habilitado no Babel do seu projeto e, por isso, não esteja dando erros. =)