试图获取超出范围索引 NaN 的框架(实时数据库)

新手上路,请多包涵

我正在尝试从 firebase 数据库中呈现一些行,但出现此错误:

任务队列:任务错误:不变违规:试图获取超出范围索引 NaN 的帧

  const { currentUser } = firebase.auth();
    var userfavorites = firebase.database().ref(`/users/${currentUser.uid}/favorites/`);
    userfavorites.once('value').then(snapshot => {
      this.setState({ userfav: snapshot.val() })
    })

...

  <FlatList
    data={this.state.userfav}
    renderItem={({ item }) => (
      <Text>{item.favdata}</Text>
    )}
  />

数据库结构

原文由 blacksun 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 388
1 个回答

我遇到了这个错误,我有一个 PHP 后端并试图将 json_encoded 数据放入 FlatList。

问题: REST 端点正在返回一个对象,例如

{"Total_Excavator":2,"Active_Excavator":2,"Total_load":6804}

解决方案: 修复它以返回一个数组,而不是例如

[{"Total_Excavator":2,"Active_Excavator":2,"Total_load":6804}]

注意 方括号。 我用 $data[] = json_encode($excavatorArray) 而不是 $data = json_encode($excavatorArray) 。希望有一天它可以帮助某人

原文由 Tadiwanashe 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题