如何解决React Native:要使用哪个Firebase存储NPM软件包?
React本机和Firebase的学习者。
这是我的代码,用于初始化Firebase存储并获取存储路径的URL:
import React,{ useState,useEffect } from "react";
import { useForm } from "react-hook-form";
import axios from "axios";
function LoginFile() {
const [users,setUsers] = useState(null);
useEffect(() => {
axios
.get("http://localhost:4000/users/1")
.then((res) => setUsers(res.data));
},[]);
useEffect(() => {
console.log(users);
},[users]);
const { register,handleSubmit,errors } = useForm({
defaultValues: users,});
return (
<div>
<form onSubmit={handleSubmit(onSubmit)}>
Email <input type="email" name="email" ref={register} /><br />
firstname <input name="firstname" ref={register} /><br/>
<input type="submit" />
</form>
</div>
);
}
export default LoginFile;
我希望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);
包含Firebase存储的图像文件的网址。
但是我得到了错误:
ERROR TypeError:未定义不是对象(正在评估 '_firebase.firebase.storage')
我认为,该错误是由于错误的软件包名称导入引起的。
有人可以指导我怎么做吗?
解决方法
我希望imageRef包含Firebase存储的图像文件的网址。
首先,您应该遵循文档中的example。
与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);
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。