Geofire查询一次而不是1比1

时间:2017-09-21 16:48:08

标签: javascript firebase geofire

下面是我的代码段,首先查询geo keys,然后使用value事件查找相关数据。但是有一个问题,键是1逐1返回所以我的列表视图也逐行显示。如何在ONCE中查询geo keys

geoQuery.on('ready', () => {
  geoQuery.cancel()
})

geoQuery.on("key_entered", (key, location, distance) => {
  postsRef.child(key).once('value', (snapshot) => {
    dispatch({
      type: FETCH_NEARBY_SUCCESS,
      response: normalize(snapshot.val(), schema.post)
    })
  })
})

1 个答案:

答案 0 :(得分:1)

这是预期的行为:B:B, "<="&EOMONTH($D$1,0)事件最初为范围内的每个键触发一次,然后在每个键进入范围时触发一次。

如果要在加载初始数据后执行某些更新,例如延迟更新屏幕,您可以收听key_entered事件。来自documentation

  从服务器加载此查询的初始状态时,

ready将触发一次。在触发与加载数据相关的所有其他事件后,ready事件将触发。