首页 > 解决方案 > 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>
    )}
  }

如果您能帮助解决问题,我将不胜感激。

标签: firebasereact-nativereact-native-firebase

解决方案


推荐阅读