ReactJS。我有一个从firebase数据库填充的列表。
我有一个删除按钮,该按钮可以找到某个用户的最后一个条目,然后从数据库中删除该条目。
但是,原始列表在屏幕上保持不变。我需要某种“刷新”(作为React JS,也许这不是最好的用词)。
我尝试创建了refresh()函数,它确实从数据库发送了更新后的列表,但是,这个新列表被添加到了旧列表的底部,应该替换掉。
编辑:在写出这个问题时,我意识到我需要做的!我将把我在这里所做的事情留给像我这样的未来React JS新手...
在单击删除按钮时调用onDelete函数...
// DELETE LAST USER COMMENT
onDelete = () => {
// delete last message code he
let username = this.state.name;
console.log(username);
messageRef.orderByChild('name').equalTo(username).limitToLast(1).once('child_added',function (snapshot) {
snapshot.ref.remove();
})
this.refresh()
}
refresh = () => {
const previousMessages = [];
messageRef.on('child_added',snapshot => {
previousMessages.push({
id: snapshot.key,message: snapshot.val().text,name: snapshot.val().name
})
this.setState({
list: previousMessages
})
})
}