Не удается сохранить или извлечь данные из Firebase (новинка для React Native и Firebase) - PullRequest
0 голосов
/ 17 сентября 2018

Итак, у меня есть приложение для дневников, которое я пытаюсь закодировать в React Native.Я новичок, чтобы реагировать, но все, что я читаю, говорит о том, что то, что я делаю, должно просто работать.По сути, я беру некоторые данные в избыточный класс Action и пытаюсь их записать.Но я продолжаю получать,

undefined не является объектом, "оценивающим" _firebase2.default.database.ref ')

Я перешел "сохранить новые данные вFirebase "раздел на учебнике, который я использую несколько раз, и я просто не понимаю, что я делаю неправильно. Вот мой код,

import firebase from 'firebase';
import { Actions } from 'react-native-router-flux';
import { DIARY_UPDATE, DIARY_SAVED, DIARY_FETCH_SUCCESS } from './types';


export const diaryUpdate = ({ prop, value }) => ({
    type: DIARY_UPDATE,
    payload: { prop, value }
  });

export const diarySave = ({ date, location, activity, satisfaction,
  amenities, note }) => {
    const { currentUser } = firebase.auth();

    return (dispatch) => {
      firebase.datebase.ref(`Users/${currentUser.uid}/diary`)
      .push({ date, location, activity, satisfaction, amenities, note })
      .then(() => {
          dispatch({ type: DIARY_SAVED });
          Actions.dashboard({ type: 'Replace' });
      });
    };
  };

  export const diaryFetch = () => {
      const { currentUser } = firebase.auth();

      return (dispatch) => {
        firebase.datebase.ref(`Users/${currentUser.uid}/diary`)
        .on('value', snapshot => {
          dispatch({ type: DIARY_FETCH_SUCCESS, payload: snapshot.val() });
        });
      };
    };

У меня есть консоль журнала значений, чтобы убедиться, что все в порядкес передачей материала.

Вот App.js, где я инициализирую firebase. Я должен упомянуть, что функция аутентификации firebase работает нормально!

import React, { Component } from 'react';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import firebase from 'firebase';
import reduxThunk from 'redux-thunk';
import reducers from './src/reducers';
import Router from './src/Router';

export default class App extends Component {

  componentWillMount() {
    if (!firebase.apps.length) {
      const fconfig = {
        apiKey: 'AIzaSyAkYD2TodRFEiln8JZPp2DtDyfIwIr654U',
        authDomain: 'yourhappyplace-6c049.firebaseapp.com',
        databaseURL: 'https://yourhappyplace-6c049.firebaseio.com',
        projectId: 'yourhappyplace-6c049',
        storageBucket: 'yourhappyplace-6c049.appspot.com',
        messagingSenderId: '634967086167'
      };
      firebase.initializeApp(fconfig);
    }
  }

  render() {
    //Create redux store with redux thunk middleware
    const happyStore = createStore(reducers, {}, applyMiddleware(reduxThunk));

    return (
      <Provider store={happyStore}>
          <Router />
      </Provider>
    );
  }
}

Может кто-нибудь увидеть, чточерт возьми, я делаю не так? Спасибо!

1 Ответ

0 голосов
/ 17 сентября 2018

Для доступа к экземпляру FirebaseDatabase вы вызываете метод database() для экземпляра FirebaseApp.

Так пишется database() и с круглыми скобками:

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