Javascript 是否将firebaseui身份验证与模式弹出窗口(ReactJS)一起使用?
我正在尝试使用firebaseui登录我的站点。它需要一个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\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(){
返回(
…这里的内容
)
}