Нажмите одновременно на верхний и нижний составные компоненты - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть компонент, который имеет два дочерних компонента. Например: A и B. A получает position: absolute и помещается поверх B как наложение. Также А имеют более высокий z-index. К событиям A и B прикреплены события onClick

Мой вопрос: можно ли передать один щелчок через A к B ?. Например, если я нажимаю на A, мне нужно сначала вызвать событие onClick A, а затем передать событие click в B и вызвать событие onClick B.

Существуют некоторые условия

  • Невозможно вызовите событие onClick B напрямую.
  • событие касания / щелчка должно быть передано через A к B

, это необходимо сделать в React-native . Ребята, что вы думаете. Возможно ли это?

1 Ответ

0 голосов
/ 01 апреля 2020

Один из способов - передать ссылку на компонент B внутрь A

class App extends React.Component {
   
   render () {
     const b = <B />
     const a = <A b={b} />

     return (
       <div>
         {a}
         {b}
       </div>
     );
   }
}


class A extends React.Component {
   
   onClick = (e) => {
      console.log('Clicked A');
      this.props.b.onClick(e);
   }
   render () {
     return (
       <div onClick={this.onClick}>
         A
       </div>
     );
   }
}


class B extends React.Component {
   
   onClick = (e) => {
      console.log('Clicked B');
   }
   render () {

     return (
       <div onClick={this.onClick}>
         B
       </div>
     );
   }
}
...