React Native - Firestore: возможно необработанное отклонение обещания Не могу найти переменную atob - PullRequest
0 голосов
/ 17 марта 2020

Я работаю над мобильным приложением с поддержкой native и firebase и пытаюсь сохранить некоторую информацию в firestore. но функция add () фактически не добавляет в firestore, и я только начинаю беспокоиться, когда нажимаю на кнопку без какой-либо дальнейшей реакции. Идея моего кода состоит в том, чтобы взять информацию от пользователя о событии и затем сохранить ее в firebase.

Вот функция, которую я использую для отправки информации о событии и вызова функции [addEvent] из API Firebase :


handleForm = () => {
    var formData = {
      name: this.state.eventName,
      event_type: this.state.eventType,
      age_group: this.state.ageGroup,
      city: this.state.city,
      date: this.state.date,
      free: this.state.free,
      adult_price: this.state.adultTicket,
      kid_price: this.state.kidTicket,
      location: this.state.eventLocation,
      organizer: this.state.eventOrganizer,
      description: this.state.eventDescription,
    }
    addEvent(formData);
  }


, который я вызываю с кнопки

<Button onPress={() => this.handleForm()}>

и вот код API Firebase:

import * as fb from 'firebase';
import 'firebase/firestore';
import 'firebase/storage';

const config = {
  apiKey: '**************************************',
  authDomain: '**************************************',
  databaseURL: '**************************************',
  projectId: '**************************************',
  storageBucket: '**************************************',
  messagingSenderId: '**************************************',
  appId: '**************************************',
  measurementId: '**************************************',
};

const firebase = fb.initializeApp(config);
const db = firebase.firestore();

export function addEvent(event) {
  db.collection('events')
    .add(event)
    .then((data) => {
      console.log('Your Event successfully added!');
    }).catch((error) => console.log('Error!'));
}

поэтому я получаю это предупреждение, и в консоли ничего не печаталось, а также данные не были добавлены в пожарный склад

Предупреждение: возможный необработанный отказ от обещания (id: 0): ReferenceError: Can ' t найти переменную: atob

Я использую:

  • React Native: версия 0.61.5
  • Firebase: версия 7.11.0

1 Ответ

1 голос
/ 17 марта 2020

в вашем приложении. js файл, глобальный импорт base-64:

import {decode, encode} from 'base-64';

if (!global.btoa) {  global.btoa = encode }

if (!global.atob) { global.atob = decode } 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...