我有一个名为“ guests”的列表,一切正常,直到我尝试从特定表中删除一个来宾。 要删除,我从Firestore获取表数据,过滤用户,然后再次将其更新为Firestore。 当我从Firestore中获取数据时,整个表都会添加到有序的“来宾”中。 每当我获取数据时都会发生这种情况,我不知道如何更新数据,因为我只是过滤用户并将其更新回Firestore。
除此问题外,一切正常,我可以将其从“表”中删除,但“来宾”有此问题。
我尝试了几种获取数据的方法,但结果却相同。
代码:
onGuestDelete = async (id, tableId) => {
const { firestore, auth } = this.props;
const data = await firestore.get({ collection: 'guests', doc: auth.uid, subcollections: [{ collection: 'userTables', doc: tableId }] });
const tableGuests = data.get('tableGuests').filter(guest => guest !== id);
firestore.update({ collection: 'guests', doc: auth.uid, subcollections: [{ collection: 'userTables', doc: table.id }] }, { tableGuests });
}
触发GET_SUCCESS后,您可以看到数组的最后一项(8)。
答案 0 :(得分:0)
不确定我是否理解正确,请尝试
onGuestDelete = async (id, tableId) => {
const { firestore, auth } = this.props;
const data = await firestore.get({ collection: 'guests', doc: auth.uid, subcollections: [{ collection: 'userTables', doc: tableId }] });
const tableGuests = data.get('tableGuests');
const filteredGuests = tableGuests.filter(guest => guest !== id);
firestore.update({ collection: 'guests', doc: auth.uid, subcollections: [{ collection: 'userTables', doc: table.id }] }, { filteredGuests });
}
答案 1 :(得分:0)
在Java中,我只是将列表放在onCreate()
lifecycle 内,因为onStart()
的生命周期始终使我的列表排序不正确。我不知道reactjs,但是 reactjs