firebase - TouchableOpacity 删除而不触摸
问题描述
所以我想使用 TouchableOpacity 来按下组件并从 Firebase 中删除数据,但是如果我这样做,它会删除我的 Firebase 中的所有内容
OnPress= {this.DeleteAds(item.key)}
我尝试按照此处TouchableOpacity 中的说明在不触摸的情况下执行, 但现在该按钮不执行任何操作。
这是代码:
export default class Ads extends Component {
constructor(props){
super(props);
this.state={
adlist:[],
} }
DeleteAds = (key)=>{
firebase.database().ref('/ads/'+key).remove();
navigation.navigate("Home")
console.log(key)
};
componentDidMount(){
firebase.database().ref('/ads').on('value', (snapshot) =>{
var list = []
snapshot.forEach((child)=>{
list.push({
key:child.key,
title:child.val().title,
details: child.val().details
})
})
this.setState({adlist:list})
})
}
render(){
return(
<View style={styles.container}>
<View style={styles.container_3}>
<Text> Ads</Text>
</View>
<FlatList
data={this.state.adlist}
keyExtractor={(item)=>item.key}
renderItem={({item})=>{
return(
<TouchableOpacity OnPress ={()=>this.DeleteAds(item.key)}>
<View style={styles.container_2}>
<Text style={styles.text_style1}>{item.title}</Text>
<Text>{item.details}</Text>
</View>
</TouchableOpacity>
)}}/>
</View>
)}
}
如果您能帮助解决问题,我将不胜感激。
解决方案
推荐阅读
- flutter - 我怎样才能让一个 Row 在颤动中填满整个空间而不会溢出?
- activemq-artemis - ActiveMQ Artemis:获取所有队列的列表
- python - 像素图的PyQt变换翻译没有影响
- python - 熊猫:分组和条件总和并添加回数据框
- jquery - JSF & Javascript - 仅在通过验证时显示表单的确认框
- c++ - 我怎样才能改变'\a'的声音?
- ruby - 避免heredoc 正则表达式转义
- python - 在由两列之间的操作产生的数据框中添加一列
- datetime - PHP中的意外日期时间行为
- c# - 无法使用 Xamarin.Android 客户端的 Socket.Io.Client 连接 Node.js 服务器