Firebase firestore ничего не добавляет, но без ошибок - PullRequest
0 голосов
/ 30 апреля 2020

Я попытался подключить свое реагирующее нативное приложение к базе данных огня следующим образом. После выполнения этой функции «добавить сообщение» ни генерация сообщения об ошибке, ни сохранение данных в базе данных Firebase. Но функция загрузки фотографий работает как шарм. Также я могу аутентифицировать и создавать новых пользователей. Я хотел бы знать причину этой проблемы?

Текущая зависимость от firebase "firebase": "^ 7.14.2". Я также проверил как «^ 6.6.2», так и «^ 7.9.0»

Добавить функцию записи

        const remoteUri = await this.uploadPhotoAsync(localUri, `photos/${this.uid}/${Date.now()}`);

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

Функция загрузки фотографий

 uploadPhotoAsync=async (uri, filename) =>{
      //  const uploadUri = Platform.OS === 'ios' ? uri.replace('file://', '') : uri;

        //const path=`file://photos/${this.uid}/${Date.now()}.jpg`
       //const path='/storage/emulated/0/Download/20200123_104742.jpg'

       return new Promise(async (res, rej) => {
        const response = await fetch(uri);
        const file = await response.blob();

        let upload = firebase
            .storage()
            .ref(filename)
            .put(file);

        upload.on(
            "state_changed",
            snapshot => {},
            err => {
                rej(err);
            },
            async () => {
                const url = await upload.snapshot.ref.getDownloadURL();
                res(url);
            }
        );
    });

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