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

标签 javascript reactjs firebaseui

我正在尝试启用使用 firebaseui 登录我的站点。它需要一个 firebaseui_auth_container 来呈现登录表单,但我在启动时没有那个 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>
}

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

最佳答案

componentDidMount() 方法而不是构造函数中初始化 firebaseui 我在渲染函数中没有看到返回语句。如果你错过了,修改如下:

render(){
  return (
    <div>
     ... contents here
    </div>
  )
}

关于javascript - 将 firebaseui 身份验证与模式弹出窗口(ReactJS)一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756557/

相关文章:

android - Recyclerview 未更新新数据

java - 无法从firebase数据库android、回收器 View 中检索数据

javascript - jQuery datepicker 获取显示的月份和年份不是当前的

javascript - jQuery 是否有一个通用回调来避免断链?

javascript - 如何在手机上调整html页面的大小

javascript - 根据变量名称 react 奇怪的内部问题

javascript - 将我的 Office 加载项发布到 Azure 时出现问题,Office.js 未完全加载错误,但在 localhost :3000 上运行正常

performance - 了解 React 渲染

javascript - 在 For 循环中将 onClick 应用于元素数组

java - 如何反转 FirebaseUI-Android 获取的数据?