【问题标题】:Retrieve from Firebase not working with auto generated id react native从 Firebase 中检索不使用自动生成的 id 反应原生
【发布时间】:2017-09-10 19:00:41
【问题描述】:

您好,我在 react native 中使用此功能从 firebase 检索数据,当节点标题为 1 或任何其他数字时,它工作正常。但是当我使用 push 时,firebase 会自动生成一个像 Kth6q9p8njLyfwbuyL5 这样的 id,那时我无法在 react native 中检索。有谁知道为什么?感谢您的帮助

let shiftPath = "/shifts/mobile";

firebase.database().ref(shiftpath).on('value', (snapshot) => {

        this.setState({
          mobile : snapshot.val(),
            });
          });



    }

【问题讨论】:

  • 能否添加console.log(snapshot.val() 并分享结果,好吗?

标签: firebase react-native


【解决方案1】:

它们都相同,但第一个具有 UUID

【讨论】:

  • 抱歉,我没有收到您的问题。结果,您发布的两个对象都被检索了。情况是一个包含键和值,而另一个只包含键。您能否准确说明您要达到的目标是什么?是否要在不自动生成 ID 的情况下添加新项目?
  • 我希望能够检索具有生成 ID 的帖子,但它不适用于上述功能。它只适用于像“1”这样的编号对象,我不知道为什么。
  • 您发布的这张照片是您的console.log(snapshot.val()?如果是这样,请注意 ID 对象正在被列出,因此我们可以假设它正在被检索。如果您在 setState console.log('end: ', this.state.mobile['firebaseid'].end) 之后添加此代码,您应该会看到响应为 'end: '。这是因为您的属性在您的 Firebase 架构中为空。如果您想传递所有记录,您可以使用 Object.entries(snapshot.val()) 之类的东西将对象转换为数组,并使用 .forEach() 来获取每个项目。希望对您有所帮助。
  • Im 将从 firebase 接收到的数据分配到数组中,然后我通过它来解决这个问题 ` { this.state.mobile.map((items, i) => { return ( {items.num} ); }) } `
  • 当我添加带有生成 id 的对象时,它会返回 this.state.mobile.map is not a function is undefined
猜你喜欢
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-28
  • 2019-01-09
  • 2021-10-05
相关资源
最近更新 更多