This is the code I implemented for adding data to collection:
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;
I'm building an app using expo react native and using firebase for data manipulation. But while using function for adding data to collection, it shows error like
undefined is not an object (evaluating 'Wu.getRandomValues')
Help me out anyone