Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

315
Views
Use firebaseui authentication with a modal popup (ReactJS)?

I'm trying to enable logging into my site with firebaseui. It requires a firebaseui_auth_container to render the login form to, but I don't have that div at startup, since it's in a modal popup. This is my code:

constructor() {
...
// Initialize the FirebaseUI Widget using Firebase.
    var ui = new firebaseui.auth.AuthUI(Firebase.auth());
    var uiConfig = {
      'signInSuccessUrl': 'url.com',
      'signInOptions': [
        // Leave the lines as is for the providers you want to offer your users.
        Firebase.auth.GoogleAuthProvider.PROVIDER_ID,
        Firebase.auth.FacebookAuthProvider.PROVIDER_ID,
        Firebase.auth.TwitterAuthProvider.PROVIDER_ID,
        Firebase.auth.GithubAuthProvider.PROVIDER_ID,
        //Firebase.auth.EmailAuthProvider.PROVIDER_ID
      ],
      'signInFlow': 'popup'
    };
    ui.start('#firebaseui-auth-container', uiConfig)
}

render() {
    <div className="my-logo"><button style={{backgroundColor: 'transparent', border: '0px', 
        font: "inherit", color: "#eee", cursor:"pointer"}}
                 onClick={this.openLogin.bind(this)}>Login</button><br/></div>
                 <Modal
                   aria-labelledby='modal-label'
                   style={modalStyle}
                   backdropStyle={backdropStyle}
                   show={this.state.showLoginModal}
                   onHide={this.closeLogin.bind(this)}
                 >
                   <div id="firebaseui-auth-container" style={dialogStyle()} />
                 </Modal>
}

The div with the appropriate ID only exists after I click the 'login' button in my header. Right now when I click it I get an empty modal box. Is there a way to make firebaseui 'wait' for the div, or to have the div 'exist' at startup, so that firebaseui doesn't complain? (Right now, obviously, it throws an error saying it can't find the widget).

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Initialise the firebaseui in componentDidMount() method instead of constructor I don't see a return statement in the render function. If you missed it modify as below:

render(){
  return (
    <div>
     ... contents here
    </div>
  )
}
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!