Метод onPressact-native-swipeout отключает содержащий метод onPress компонента

У меня есть следующий метод визуализации плоского списка, который при нажатии на элемент списка вызовет метод this._onPress:

render() {
      return (
      <TouchableOpacity  onPress={this._onPress} >
        <View style={styles.bookItem} >
          <Image style={styles.cover} source={{uri:this.props.coverURL}}/>
          <View style={styles.info} >
            <Text style={styles.title}>{this.props.title} </Text>
            <Text style={styles.author}>{this.props.author}</Text>
            <Text style={{height: 8}}/>
           </View>
           <View style={styles.rightIcon}>
                <Icon name="chevron-right" size={28} color={'#AAAAAA'} />
          </View>
        </View>
      </TouchableOpacity>
    );
  }

После того, как я добавил тег swipeout в следующем коде, swipeout работает, но нажатие на элемент больше не вызывает метод this._onPress:

 render() {
    // Buttons
    var swipeoutBtns = [
      {
        text: 'Delete',
        onPress: this._buttonPress
      }
    ]
    return (
      <TouchableOpacity  onPress={this._onPress} >
      <Swipeout right={swipeoutBtns} >
        <View style={styles.bookItem} >
          <Image style={styles.cover} source={{uri:this.props.coverURL}}/>
          <View style={styles.info} >
            <Text style={styles.title}>{this.props.title} </Text>
            <Text style={styles.author}>{this.props.author}</Text>
            <Text style={{height: 8}}/>
           </View>
           <View style={styles.rightIcon}>
                <Icon name="chevron-right" size={28} color={'#AAAAAA'} />
          </View>
        </View>
      </Swipeout>
      </TouchableOpacity>
    );
  }

Это ограничение реакции-родного-смахивания?

1 ответ

Если бы вы использовали Swipeout в качестве первого тега и сенсорный в качестве следующего вложенного тега, я думаю, это сработало бы. Тем не менее, кажется, что функциональность Swipeout делает его менее отзывчивым

Другие вопросы по тегам