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?
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.
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.
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;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With