1
resposta

Dúvida sobre componentes

Olá professor, tudo bem? Gostaria de saber porque não podemos colocar o método adicionaComentario dentro do componente InputComentario... Isso não encapsularia melhor o componente? Eu acho que em questão de organização de código ficaria melhor...

O meu medo é que a instrução this.setState({ foto: fotoAtualizada }); se refere ao estado do componente pai... Não sei se o componente filho consegue mudar o componente pai...

Enfim... Qual sua opinão sobre?

1 resposta

Um componente filho pode invocar um método do componente pai, se o componente pai passar esse método para o filho via 'props', isso é feito quando você passa um callback para a propriedade 'onClick' de do componente 'Button', só que no lugar de 'Button' pode ser seu próprio componente. Então só acionar normalmente o callback

/*No Componente pai*/

<ComponenteFilho  callbackDoComponentePai={ () => console.log('Deu boa')}>

/*No Componente filho*/
 constructor(props) {
    super(props);
    this.props.callbackDoComponentePai();
    };
  }

Segue um link que pode te ajudar.

https://reactjs.org/docs/faq-functions.html