Guest User

Untitled

a guest
Jul 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. import React, { Component } from 'react';
  2. import * as firebase from 'firebase';
  3.  
  4. var config = {
  5. apiKey: "API_KEY",
  6. authDomain: "ds-neighborhood-map.firebaseapp.com",
  7. databaseURL: "https://ds-neighborhood-map.firebaseio.com",
  8. projectId: "ds-neighborhood-map",
  9. storageBucket: "",
  10. messagingSenderId: "892195464936"
  11. };
  12.  
  13. firebase.initializeApp(config);
  14. var db = firebase.firestore();
  15. const settings = {timestampsInSnapshots: true};
  16. db.settings(settings);
  17.  
  18.  
  19. export default class Firebase extends Component {
  20.  
  21. constructor(props) {
  22. super(props);
  23.  
  24. }
  25.  
  26. static getAll(colName) {
  27. return new Promise((resolve, reject) => {
  28.  
  29. db.collection(colName).get().then(response => {
  30. if(response.size) {
  31. var responseData = [];
  32. response.forEach(e => {
  33. responseData.push(e.data())
  34. })
  35. resolve(responseData);
  36. }else{
  37. reject({'error': 'Can't execute a request. The database is empty!'});
  38. }
  39. }).catch(err => {
  40. reject({'error': 'Network error! Can't connect to the DB'});
  41. });
  42. })
  43. }
  44.  
  45. render() {
  46. return;
  47. }
  48. }
  49.  
  50. export const getAll = Firebase.getAll;
  51.  
  52. import React, { Component } from 'react';
  53. import logo from './logo.svg';
  54. import './App.css';
  55.  
  56. import * as firebase from './Firebase'; // компонент БД
  57.  
  58. class App extends Component {
  59.  
  60. render() {
  61. // использование метода импортированного компонента
  62. firebase.getAll('locations').then(response => {
  63. console.log(response);
  64. });
  65.  
  66.  
  67.  
  68. return (
  69. <div className="App">
  70. <header className="App-header">
  71. <img src={logo} className="App-logo" alt="logo" />
  72. <h1 className="App-title">Welcome to React</h1>
  73. </header>
  74. <p className="App-intro">
  75. To get started, edit <code>src/App.js</code> and save to reload.
  76. </p>
  77. </div>
  78. );
  79. }
  80. }
  81.  
  82. export default App;
Add Comment
Please, Sign In to add comment