繁体   English   中英

React-Native Firebase 实时数据库平面列表示例

[英]React-Native Firebase real-time db flatlist example

我想用 flatlist 列出从 Firebase 获得的 json 数据。

我的 JSONL

在此处输入图像描述

我的代码:

database()
.ref('/DOHOL')
.on('value', snapshot => {
  //console.log('User data: ', snapshot.val());
  const datas = snapshot.val();
  for (const [key, deger] of Object.entries(datas)) {
    console.log(`${key}: ${deger}`);
   
    for (const [key, degerr] of Object.entries(deger)) {
      
      console.log(`${key}: ${degerr}`);
      
      
    }
  }
}
);

 <FlatList
      data={deger}
      renderItem={({ item }) => 
        <Text>{item.text}</Text>
        
      }
    />

错误:

在此处输入图像描述

这个错误的原因是什么?

您的deger (和许多其他人)是您定义它的回调中的本地 const。 由于平面列表是从其他地方呈现的,因此它无法访问该回调的局部变量。

要在代码和渲染之间共享数据,您需要将其存储在 object 的 state 中。 例如:

for (const [key, deger] of Object.entries(datas)) {
  setState({ deger });
  ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM