Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where do I initialize Firebase app in React application?

I'm trying to integrate Firebase into my React app and after looking at various tutorials, I can't seem to find a consensus on where to put the firebase initialization code firebase.initializeApp(config).

My app's structure is this:

- app.js - components    |___Index.jsx    |___Layout.jsx    |___PageContent.jsx 

Each file looks like the following

app.js

Does all the express setup with server-side rendering

Index.jsx

import React from 'react'; import Layout from './Layout.jsx'; import PageContent from './PageContent.jsx'; import './global.css';  class Index extends React.Component {   render() {     return (         <Layout title={this.props.title}>             <PageContent />         </Layout>     );   } }  export default Index; 

PageContent.jsx

import React from 'react'; import ReactDOM from 'react-dom'; import LandingPage from './components/Landing_Page/Landing.jsx';  class PageContent extends React.Component {     render() {         return (             <LandingPage />         );     } }  if (typeof window !== 'undefined') {     ReactDOM.render(              <PageContent />,         document.getElementById('root')             ); }  export default PageContent; 

I need to make sure Firebase is available in every page of my website. Right now it is a single page app but eventually I'll be adding more.

Can anybody help me understand where I might put the database initialization code so that it is applied everywhere?

like image 700
MarksCode Avatar asked Jan 28 '18 22:01

MarksCode


People also ask

How do I initialize Firebase app?

Default initialization process using a Firebase config file: Download your GoogleService-Info. plist config file from the Firebase console, then replace the existing file in your app. Programmatic initialization using a FIROptions object: Download your GoogleService-Info.

Where do I put Firebase SDK?

Open the Firebase Assistant: Tools > Firebase. In the Assistant pane, choose a Firebase product to add to your app. Expand its section, then click the tutorial link (for example, Analytics > Log an Analytics event). Click Connect to Firebase to connect your Android project with Firebase.


1 Answers

this is how I do it

create file Firebase.js next to app.js and put your initialization code

Firebase.js file

import * as firebase from 'firebase';  let config = {     apiKey: "XXXXXXX",     authDomain: "XXXXX",     databaseURL: "XXXXX",     projectId: "XXXXX",     storageBucket: "XXXX",     messagingSenderId: "XXXX" }; firebase.initializeApp(config);  export default firebase; 

and then import Firebase.js file every where you want to use it , for example

import React from 'react';     import firebase from './../Firebase.js'     // <------  import firebase  class Test extends React.Component {      componentDidMount(){         firebase.database().ref().child("X").on('value' , {...});     }      render() {         return (             <h1>Hello</h1>         );     } }  export default Test; 
like image 74
Ali Faris Avatar answered Sep 21 '22 17:09

Ali Faris