【问题标题】:React Native: which firebase storage npm package to use?React Native:使用哪个 firebase 存储 npm 包?
【发布时间】: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')

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

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

【问题讨论】:

    标签: firebase react-native firebase-storage react-native-firebase


    【解决方案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。点击链接很有帮助。
    猜你喜欢
    • 2022-01-11
    • 2021-07-19
    • 1970-01-01
    • 2017-01-02
    • 2017-01-10
    • 1970-01-01
    • 2019-05-02
    • 2018-04-24
    • 2021-11-30
    相关资源
    最近更新 更多