React Native:使用哪个 firebase 存储 npm 包?

Posted

技术标签:

【中文标题】React Native:使用哪个 firebase 存储 npm 包?【英文标题】:React Native: which firebase storage npm package to use? 【发布时间】:2021-01-26 02:57:07 【问题描述】:

React Native 和 Firebase 的学习者。

这是我初始化 firebase 存储并获取存储路径的 url 的代码:

import  firebase  from '@react-native-firebase/storage';

var firebaseConfig = 
    apiKey: "...",
    authDomain: "...",
    databaseURL: "...",
    projectId: "...",
    storageBucket: "...",
    messagingSenderId: "...",
    appId: "...",
    measurementId: "..."
  ;
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);


  const storage = firebase.storage();

  let imageRef = firebase.storage().ref('photos/flower.png');
  console.log(imageRef);

我希望 imageRef 包含 Firebase 存储图像文件的 url。

但我得到了错误:

ERROR TypeError: undefined is not an object (evaluate '_firebase.firebase.storage')

我觉得,错误是由于错误的包名导入。

有人可以指导我什么是错的吗?

【问题讨论】:

【参考方案1】:

我希望 imageRef 包含 Firebase 存储图像文件的 url。

首先,您应该遵循文档中的example。

core documentation 还说:

与 Firebase Web SDK 不同,无需使用您的项目凭据手动调用 initializeApp 方法。

因此,如果设置正确,则根本不必调用 initializeApp。

ref() 返回一个Reference 类型的对象,它只是一个指向文件的指针。如果您想要一个 HTTPS 类型的 URL 来下载该文件的内容,您将需要使用它的 getDownloadURL 方法来获取它。

import storage from '@react-native-firebase/storage';

let imageRef = storage().ref('photos/flower.png');
imageRef.getDownloadURL().then(url => 
    console.log(url);
)

【讨论】:

嗨@Doug,即使按照你的建议。错误仍然保持不变:'TypeError: undefined is not an object (evalating '_firebase.firebase.storage')' 你能否检查一下,如果我的导入是正确的?这里需要哪些所有导入? 您应该按照文档中的示例进行操作。 rnfirebase.io/storage/usage#creating-a-reference 谢谢@Doug。点击链接很有帮助。

以上是关于React Native:使用哪个 firebase 存储 npm 包?的主要内容,如果未能解决你的问题,请参考以下文章

getInitialLink 不起作用,但 onLink 在 react-native-firebase v6 中工作

哪个 Firebase javascript 包应该与 React Native 一起使用?常规的“Firebase Web SDK”还是“react-native-firebase”?

React Native:使用哪个 firebase 存储 npm 包?

无法建立与 Firebase 版本不兼容的原因,并且相机反应本机

React Native:我应该使用哪个导航器? [关闭]

哪个库更适合离线支持:redux-offline 或 react-native-offline?