3
我有一个火力地堡调用它看起来像这样,火力地堡orderByChild与startAt()的第二个参数W /分页不odering
ref.child(`floorPosts/${this.props.floorName}`)
.orderByChild('numberOfLikes')
.limitToLast(15)
.once('value', (snapshot) => {
var topPosts = [];
snapshot.forEach((childSnapshot) => {
var post = childSnapshot.val();
post.key = childSnapshot.key();
topPosts.unshift(post);
});
this.lastPostKeyTop = topPosts[topPosts.length - 1].key;
this.setState({
topPosts,
isLoading: false
});
});
现在我想要做的,是用户滚动时在页面底部,我调用了这个函数。
ref.child(`floorPosts/${this.props.floorName}`)
.orderByChild('numberOfLikes')
.startAt(null, this.lastPostKeyTop)
.limitToLast(15)
.once('value', (snapshot) => {
var topPosts = [];
snapshot.forEach((childSnapshot) => {
var post = childSnapshot.val();
post.key = childSnapshot.key();
topPosts.unshift(post);
});
this.setState({
topPosts: this.state.topPosts.concat(topPosts),
isLoading: false,
});
});
但是,它将最初的15个结果连接在一起。 .startAt
接受了第二个参数,它(我相信)是最初从Firebase获取的最后一个项目的关键。但是,这似乎不适用于我的情况。我有一个预感,这与snapshot.forEach
代码有关。
泰勒
哈哈哈。惊人。 <3你的puf! –
我正在搜索有关此参数的链接的答案,然后找到您的问题。这只不过是两年而已。 :-) –