Реагировать на собственную проблему сохранения данных в FireStore - PullRequest
1 голос
/ 07 апреля 2020

Вот мой код.

import FirebaseKeys from "./config";
import firebase from 'firebase/app';

class Fire {
    constructor() {
        firebase.initializeApp(FirebaseKeys);
    }

   addPost = async ({text, localUri}) => {
       const remoteUri = await this.uploadPhotoAsync(localUri)

       return new Promise((res, rej) => {
           this.firestore.collection("posts").add({
               text,
               uid: this.uid,
               timestamp: this.timestamp,
               image: remoteUri
           })
           .then(ref => {
               res(ref)
           })
           .catch(error => {
               rej(error)
           });
       });
   };

    uploadPhotoAsync = async uri => {
        const path = `photos/${this.uid}/${Date.now()}.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 => {
                     rej(err)
            },
            async () => {
                const url = await upload.snapshot.ref.getDownloadURL();
                res(url);

                }
            );
        });
    };

Я заметил, что нет проблем с загрузкой изображения на uploadImageAsyn c, но когда дело доходит до метода addPost, он не создает коллекцию с именем "post" .

что мне с этим делать? заранее спасибо. Кстати, я не использую экспо на этом.

1 Ответ

0 голосов
/ 08 апреля 2020

Прежде всего, коллекция, которую пытается создать ваш метод addPost, называется "публикациями", а не "публикацией". Когда дело доходит до Firestore, всегда проверяйте, что ваши правила безопасности позволяют этому пользователю писать по этому пути. rej возврат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...