将本机Picker绑定到Firebase返回的数据

时间:2019-06-12 19:13:02

标签: firebase react-native expo picker

我使用React Native和Firebase,试图从对Firebase的查询中绑定(刷新)选择器(下拉列表)。设置静态信息很好;但是,当我尝试“轮询”数据库并检索信息时,我无法使选择器更新适当的项目。我知道这是一个异步调用-我可以控制最终的填充,因此我知道数据已正确返回。我从堆栈溢出中尝试了其他解决方案,但目前都无法使用(最新的博览会)。我已尝试将代码与基本内容配对(请参见下文)。最新的迭代告诉我,有一个TypeError评估this.state.snapshot。

当从数据库中提取数据并更新Picker时,任何人都可以向正确的方向推动我,或者向我展示一些简单的代码“有效”吗?

我尝试使用其他堆栈溢出答案来解决此问题,但它们要么过时,要么不起作用。

for (var h = 0; h < xt.length; h++) {
  var heart = '';
  console.log(xt[h]);
  if (row[0] == xt[h]) {
    heart = 'icon-heart';
  } else {
    heart = 'icon-    heart1';
  }
}

导出默认附加内容;

我希望选择器使用Firebase返回的数据进行更新

1 个答案:

答案 0 :(得分:0)

尝试检查getPickerElements()周围的内容,以确保当您尚未收到Firebase的答复时,它不会执行:

{this.state.snapshotList !== undefined &&
    getPickerElements()
}

状态更改后,通常应重新渲染并添加新项目,以反映Firebase响应。