Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, { Component } from 'react';
- import * as firebase from 'firebase';
- var config = {
- apiKey: "API_KEY",
- authDomain: "ds-neighborhood-map.firebaseapp.com",
- databaseURL: "https://ds-neighborhood-map.firebaseio.com",
- projectId: "ds-neighborhood-map",
- storageBucket: "",
- messagingSenderId: "892195464936"
- };
- firebase.initializeApp(config);
- var db = firebase.firestore();
- const settings = {timestampsInSnapshots: true};
- db.settings(settings);
- export default class Firebase extends Component {
- constructor(props) {
- super(props);
- }
- static getAll(colName) {
- return new Promise((resolve, reject) => {
- db.collection(colName).get().then(response => {
- if(response.size) {
- var responseData = [];
- response.forEach(e => {
- responseData.push(e.data())
- })
- resolve(responseData);
- }else{
- reject({'error': 'Can't execute a request. The database is empty!'});
- }
- }).catch(err => {
- reject({'error': 'Network error! Can't connect to the DB'});
- });
- })
- }
- render() {
- return;
- }
- }
- export const getAll = Firebase.getAll;
- import React, { Component } from 'react';
- import logo from './logo.svg';
- import './App.css';
- import * as firebase from './Firebase'; // компонент БД
- class App extends Component {
- render() {
- // использование метода импортированного компонента
- firebase.getAll('locations').then(response => {
- console.log(response);
- });
- return (
- <div className="App">
- <header className="App-header">
- <img src={logo} className="App-logo" alt="logo" />
- <h1 className="App-title">Welcome to React</h1>
- </header>
- <p className="App-intro">
- To get started, edit <code>src/App.js</code> and save to reload.
- </p>
- </div>
- );
- }
- }
- export default App;
Add Comment
Please, Sign In to add comment