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 包?