@dollar1610

Как вызвать функцию которая находится внутри компоненты из другой компоненты в React?

Суть вопроса в названии, мне нужно из 1 класса вызвать функцию другого класса.
  • Вопрос задан
  • 6559 просмотров
Решения вопроса 1
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
Если вам нужно вызвать функцию из родителя в потомке то это можно сделать так
class Parent extends Component {
 render() {
  return (
    <div>
      <Child ref="child" />
      <button onClick={() => this.refs.child.getAlert()}>Click</button>
    </div>
  );
 }
}

class Child extends Component {
 getAlert() {
    alert('clicked');
 }
 render() {
  return (
    <h1>Hello</h1>
  );
 }
}


а если вам нужно из потомка вызвать функцию в родителе то
class Parent extends Component {
myfunction(){
alert('work');
}
 render() {
  return (
    <div>
      <Child myFunction={()=>this.myfunction()} />
    </div>
  );
 }
}

class Child extends Component {
 
 render() {
  return (
    <div><button onClick={() => this.props.myFunction()}>myFunction</button></div>
  );
 }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@undefined_title
class Main extends Component {
 static myfunction(){
alert('work');
}
 render() {
  return (
    <div>
      <Child myFunction={()=>this.myfunction()} />
    </div>
  );
 }
}

class MyComponent extends Component {
 
 render() {
  Main.myfunction()
  return (
    <div><button onClick={() => this.props.myFunction()}>myFunction</button></div>
  );
 }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы