首页 > 解决方案 > 反应本机firebase实时数据库不显示显示照片

问题描述

我使用firebase实时数据库,我可以提取照片的数据但是会在实时数据库中使用照片,它不会显示组件平面列表。

我的代码获取数据库:

componentDidMount() {
firebase.auth().onAuthStateChanged(user => {
  if (user != null) {
    const rootRef = firebase.database().ref();
    const userRef = rootRef.child(`user/${user.uid}/car`);
    this.setState({ uid: user.uid })
    userRef.on('value', (childSnapshot) => {
      const cars = [];
      childSnapshot.forEach((doc) => {
        cars.push({
          distance: doc.val().distance,
          time: doc.val().time,
          price: doc.val().price,
          photo:doc.val().photo,
          key: doc.key,
        });
        this.setState({
          cars: Object.values(cars)
        })
      });
    })
  }
});

}

扁平化者

<FlatList data={this.state.cars}
          renderItem={({ item }) => (
            <List>
              <ListItem avatar>
                  <Image style={{width:50,height:50}} source={item.photo}></Image>
              </ListItem>
            </List>)}
        />

不是表演照片“图片”

标签: node.jsfirebasereact-nativefirebase-realtime-database

解决方案


您存储到照片的链接是您添加照片的设备上的本地文件 URL。这仅适用于已存在照片的设备,即使如此,它也可能随时停止工作。

您要做的是将照片上传到服务器,所有用户都可以看到它。例如,您可以使用 Firebase Storage SDK 上传照片,然后请求下载 URL(请参阅本示例的末尾),并将URL 写入数据库。有了这样的下载 URL,所有用户都可以阅读图片。


推荐阅读