【发布时间】:2020-09-30 13:24:02
【问题描述】:
我有一个带有搜索功能的平面列表。在下一步中,我希望在我按下项目时发生一些事情。我面临的问题是 TouchableOpacity 是可见的,但是按下它时什么也没有发生。我已经尝试过使用 Button 并遇到同样的问题。
onPress 不是在按下某物时被调用,而是在屏幕立即加载后以某种方式被调用。例如,如果我使用 console.log(item.title) 我会在我的控制台日志中获得当前在平面列表中的所有标题。
我花了好几个小时试图找出造成这种情况的原因,但似乎找不到任何原因。非常感谢任何帮助。
我有一个填充了数据的平面列表,设置如下:
return (
<View style={styles.list}>
<FlatList
data = {this.state.data}
renderItem={renderListItem}
keyExtractor={item => item.id}
ListHeaderComponent={this.renderHeader}
/>
</View>
);
}
}
const renderListItem = (item) => {
return (
<MyTouchable
id={item.item.id}
title={item.item.title}
/>
);
}
MyTouchable 组件如下所示:
<View>
<TouchableOpacity onPress={console.log("Pressed")}>
<View style={styles.mainView}>
<View>
<Text style={styles.text}>{props.id} {props.title}</Text>
</View>
</View>
</TouchableOpacity>
</View>
【问题讨论】:
标签: reactjs react-native