首页 > 解决方案 > 反应原生元素 - 安卓 -onPress 参数未触发.......仅在调试时

问题描述

这是一个非常奇怪的......当我不调试时一切正常......但是一旦我打开调试 FlatList 中 ListItem 的 onPress 功能就不再响应按下。这只是昨天才开始发生的,我还没有进行任何代码更改。下面的代码:

import { StyleSheet, Text, View, FlatList, ActivityIndicator, Alert } from 'react-native';
import {ListItem, Avatar} from 'react-native-elements';

<FlatList
  data={this.props.data}
  keyExtractor={(item, index) => {
    return index.toString();
  }}
    return (
      <View>
        <ListItem
          onPress={() => {
            this.props.flatListItemPressHandler(item);
          }}>
          <ListItem.Content>
            <ListItem.Title style={{fontWeight: 'bold', fontSize: 20}}>
              {item.name}
            </ListItem.Title>
          </ListItem.Content>
          <ListItem.Chevron />
        </ListItem>
      </View>
    );
  }}
  ItemSeparatorComponent={this.renderSeparator}
  onEndReached={this.props._handleLoadMore}
  onEndReachedThreshold={0.3}
/>

标签: react-nativereact-native-androidreact-native-elements

解决方案


想通了......显然在调试模式下......设备将常规按下解释为长按。我将 onLongPress 属性添加到 ListItem 并简单地复制了用于 onPress 的函数。有点hack,但至少我可以继续工作。


推荐阅读