porque ao passar o metodo para o filho não precisou de bind?
porque ao passar o metodo para o filho não precisou de bind?
Felipe,
Nessa passagem de parâmetro, diferente da abordagem do bind, você não precisa dessa atribuição porque ele está recebendo e apresentando os registros somente como parâmetro. Dessa forma, não precisa ter acesso ao this. Ele simplesmente usa o método para imprimir valores.
Exemplo:
class App extends Component {
constructor(){
super();
this.teste = "xxxx";
}
criarNota(titulo, texto){
console.log(`uma nova nota foi criada ${titulo} ${texto}`);
console.log(this.teste);
}
render() {
return (
<section className="conteudo">
<FormularioCadastro criarNota={this.criarNota}/>
<ListaDeNotas />
</section>
);
}
}
Dessa forma, você jamais teria acesso a variável this.teste.
Tente novamente imprimir a variável this.teste, mas agora atribuindo com o bind.
class App extends Component {
constructor(){
super();
this.teste = "xxxx";
}
criarNota(titulo, texto){
console.log(`uma nova nota foi criada ${titulo} ${texto}`);
console.log(this.teste);
}
render() {
return (
<section className="conteudo">
<FormularioCadastro criarNota={this.criarNota.bind(this)}/>
<ListaDeNotas />
</section>
);
}
}
Tente agora e verifique o resultado.
Espero ter ajudado.