为了账号安全,请及时绑定邮箱和手机立即绑定

Delete Item by key fire-base 如何将该键值传递给

Delete Item by key fire-base 如何将该键值传递给

ABOUTYOU 2021-11-12 18:12:22
我可以从 fire-base 添加和获取数据,但我不知道如何将键值传递给删除函数我已经上传了我的 firebase 数据存储结构。我需要从数据库中删除项目并呈现剩余的项目。var data = []export default class App extends React.Component {  constructor(props) {    super(props);    this.state = {      listViewData: data,      newTodo: '',    }  }  componentDidMount() {    var that = this    firebase.database().ref('/todos').on('child_added', function (snapshot) {      var newData = [...that.state.listViewData]      newData.push(snapshot)      that.setState({ listViewData: newData })    })  }  addRow() {    if(this.state.newTodo == ''){      alert('Please enter Todo')    } else {      var d = new Date()      var key = firebase.database().ref('/todos').push().key  //      firebase.database().ref('/todos').child(key).set({        id: key,  //key        title: this.state.newTodo ,        date: d.getDate()+        '/'+ (d.getMonth() + 1)+        '/'+ d.getFullYear()      })    }  }    deleteRow() {     firebase.database().ref('todos' + key).set(null)    // rowMap[`${secId}${rowId}`].props.closeRow();    //var newData = [...this.state.listViewData];    // newData.splice(rowId, 1)    //this.setState({ listViewData: newData })  }  renderSeparator = () => {    return (     <View        style={{          height: 1,          width: "100%",          backgroundColor: "#CED0CE",        }}      />    );  };我在删除函数中尝试了 firebase.database().ref('todos' + key).set(null) 但没有得到像键值这样的错误。请检查我的删除函数,我做错了什么,请帮助我。
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

我认为这个链接应该可以帮助你,它描述了如何在反应中将参数传递给事件处理程序。

实际上,他们的示例正是关于使用 Button onClick 处理程序删除项目:

<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>

您只需要提供密钥(其中“id”在他们的示例中),并将原型更新为 deleteRow 以获取参数。


查看完整回答
反对 回复 2021-11-12
  • 1 回答
  • 0 关注
  • 242 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号