Javascript 是否将firebaseui身份验证与模式弹出窗口(ReactJS)一起使用?

Javascript 是否将firebaseui身份验证与模式弹出窗口(ReactJS)一起使用?,javascript,reactjs,firebaseui,Javascript,Reactjs,Firebaseui,我正在尝试使用firebaseui登录我的站点。它需要一个firebaseui\u auth\u容器来呈现登录表单,但我在启动时没有该div,因为它位于模式弹出窗口中。这是我的代码: constructor() { ... // Initialize the FirebaseUI Widget using Firebase. var ui = new firebaseui.auth.AuthUI(Firebase.auth()); var uiConfig = { '

我正在尝试使用firebaseui登录我的站点。它需要一个
firebaseui\u auth\u容器
来呈现登录表单,但我在启动时没有该div,因为它位于模式弹出窗口中。这是我的代码:

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>
}
constructor(){
...
//使用Firebase初始化FirebaseUI小部件。
var ui=newfirebaseui.auth.AuthUI(Firebase.auth());
变量uiConfig={
'signInsAccessUrl':'url.com',
“签名”:[
//保留要向用户提供的提供商的行。
Firebase.auth.GoogleAuthProvider.PROVIDER\u ID,
Firebase.auth.FacebookAuthProvider.PROVIDER\u ID,
Firebase.auth.TwitterAuthProvider.PROVIDER\u ID,
Firebase.auth.GithubAuthProvider.PROVIDER\u ID,
//Firebase.auth.EmailAuthProvider.PROVIDER\u ID
],
“signInFlow”:“popup”
};
ui.start('#firebaseui auth container',uiConfig)
}
render(){
登录
}

只有在我单击标题中的“登录”按钮后,才存在具有相应ID的div。现在,当我点击它时,我得到一个空的模态框。有没有办法让firebaseui“等待”div,或者在启动时让div“存在”,这样firebaseui就不会抱怨了?(现在,很明显,它抛出一个错误,说它找不到小部件)。

componentDidMount()
方法中初始化firebaseui,而不是构造函数 我在render函数中没有看到return语句。如果您错过了它,请按以下方式修改:

render(){
  return (
    <div>
     ... contents here
    </div>
  )
}
render(){
返回(
…这里的内容
)
}