类型错误未定义不是对象(正在评估'Wu.getRandomValues')
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类型错误未定义不是对象(正在评估'Wu.getRandomValues')相关的知识,希望对你有一定的参考价值。
这是我为向集合中添加数据而实现的代码:
import FirebaseKeys from "./config";
import firebase from "firebase";
import "@firebase/firestore";
class Fire {
constructor() {
firebase.initializeApp(FirebaseKeys);
}
addPost = async ({ text, localUri }) => {
const remoteUri = await this.uploadPhotoAsync(localUri);
const desc = text;
return new Promise((res, rej) => {
// console.log("THIS FIRESTORE" + this.firestore);
const dbh = firebase.firestore();
// this.firestore.collection("posts").add({
// text: desc,
// uid: this.uid,
// timestamp: this.timestamp,
// image: remoteUri
// })
dbh
.collection("posts")
.doc("feed")
.set({
text: desc,
uid: this.uid,
timestamp: this.timestamp,
image: remoteUri
})
.then(ref => {
res(ref);
console.log("EVERYTHING IS FINE HERE");
})
.catch(error => {
console.log("ERROR HERE TOO");
rej(error);
});
});
};
uploadPhotoAsync = async uri => {
console.log(this);
const path = "Date.jpg";
return new Promise(async (res, rej) => {
const response = await fetch(uri);
const file = await response.blob();
let upload = firebase
.storage()
.ref(path)
.put(file);
upload.on(
"state_changed",
snapshot => {},
err => {
console.log("ERROR IN PHOTO UPLOAD");
rej(err);
},
async () => {
const url = await upload.snapshot.ref.getDownloadURL();
res(url);
console.log("IMAGE IS UPLOADING FINE");
}
);
});
};
get firestore() {
return firebase.firestore();
}
get uid() {
return (firebase.auth().currentUser || {}).uid;
}
get timestamp() {
return Date.now();
}
}
Fire.shared = new Fire();
export default Fire;
我正在使用expo react native并使用Firebase进行数据操作来构建应用程序。但是在使用向集合添加数据的功能时,它显示错误,例如
未定义不是对象(正在评估'Wu.getRandomValues')
[帮我一个忙]
答案
来自另一个问题的评论有一个解决方案:我遇到了同样的问题。将Firebase版本降级为@ 7.12.0,然后可以再次使用。
以上是关于类型错误未定义不是对象(正在评估'Wu.getRandomValues')的主要内容,如果未能解决你的问题,请参考以下文章
类型错误:未定义不是对象(评估“data.graphics.dvd”)
*可能的未处理承诺拒绝(id:0):类型错误:未定义不是对象(评估'result.cancelled')云图像上传
组件异常(未定义不是对象(评估'list.todos.filter')
错误:未定义不是对象(评估 \'RCTWebSocketManager.connect\')