Есть ли способ передать событие касания из одного представления в другое? - PullRequest
0 голосов
/ 03 августа 2020

A имеют два слоя с компонентами на экране. Верхний слой перехватывает все события касания. Мне нужен способ распространения этих событий на нижний уровень. Пожалуйста, посмотрите пример ниже, пока только onUpperViewPressed выводит. Желаемое поведение - оба: onBellowViewPressed и onUpperViewPressed должны выдаваться при нажатии соответствующих представлений.

import * as React from 'react';
import { Text, View, SafeAreaView } from 'react-native';

export default function App() {
  
  return (
    <SafeAreaView style={{flex: 1}}>
      
      <View style={{ flex: 1, backgroundColor: 'grey' }}>
        
        <Text
          onPress={() => console.log('onBellowViewPressed')}
          style={{
            position: 'absolute',
            top: 100,
            left: 100,
            backgroundColor: 'red',
          }}>
          Below view
        </Text>

        <Text
          onPress={() => console.log('onUpperViewPressed')}
          style={{ flex: 1 }}>
          Upper view
        </Text>
      
      </View>
      
    </SafeAreaView>
  );
}

https://snack.expo.io/jJ1DQDMeR

То, что я уже попробовал:

  • Пытался добавить ' zIndex : 1' к «представлению ниже», но в этом случае нижнее представление «нижнее представление» начинает перехватывать все события.
  • Пытался поиграть с pointerEvents безуспешно.
  • Также пробовал react-native-touch-through-view

Есть предложения? Спасибо.

...