node.js - 反应本机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>)}
/>
不是表演照片“图片”
解决方案
您存储到照片的链接是您添加照片的设备上的本地文件 URL。这仅适用于已存在照片的设备,即使如此,它也可能随时停止工作。
您要做的是将照片上传到服务器,所有用户都可以看到它。例如,您可以使用 Firebase Storage SDK 上传照片,然后请求下载 URL(请参阅本示例的末尾),并将该URL 写入数据库。有了这样的下载 URL,所有用户都可以阅读图片。
推荐阅读
- pandas - 有没有更快的方法来使用 pandas 连接巨大的数据帧(40GB)
- docker - Google App Engine:为 Scrapy + Splash 加载另一个 Docker 映像
- reactjs - Material-ui - 树状视图 展开全部
- excel - 使用 VBA 在 Excel 2016 中自定义功能区
- python - 转义字符串中的十六进制字符
- android - 如何在不可见编辑器/场景/播放器的情况下在 Unity 中渲染?
- javascript - 表单提交后的jQuery .on('click)不再分配
- c# - 重定向内部网络中的外部 http 连接
- inno-setup - Inno Setup - 自动生成选项以允许用户选择要安装的文件
- python - 谷歌分析在报告 API 中获取用户 ID