Te ha pasado que llamas a un componente de REACT y este tiene sus funciones, como llamas a esas funciones, si han sido declaradas en el componente:
La idea es que el padre pase una función de devolución de llamada al componente (Child) , y el child llame a esa función para pasar su (s) método (s) al padre. El padre puede almacenar los métodos localmente.
class Parent extends Component {
acceptMethods = (childDoAlert) => {
// Parent stores the method that the child passed
this.childDoAlert = childDoAlert;
};
render() {
return (
<div>
{/* Give the child a callback, so it can share its methods with us. */}
<Child shareMethods={this.acceptMethods}/>
{/* We can now call the child's method directly! */}
<button onClick={() => this.childDoAlert()}>Click</button>
</div>
);
}
}
class Child extends Component {
componentDidMount() {
// Child passes its method to the parent
this.props.shareMethods(this.doAlert.bind(this))
}
doAlert() {
alert('clicked');
}
render() {
return (
<h1>Hello</h1>
);
}
}