使用create-react-app的FirebaseUI

时间:2018-05-11 19:58:27

标签: reactjs firebase authentication firebaseui

我正在尝试使用firebaseUI库在使用create-react-app制作的反应应用中进行身份验证。它在标准的html / js应用程序中运行良好,但我不能让它与反应一起工作。

这是我的简单登录组件:

import React, { Component } from 'react'
import * as firebase from 'firebase'
import firebaseui from 'firebaseui'

const dbConfig = {
  apiKey: ...,
  authDomain: ...,
  ...
}
firebase.initializeApp(dbConfig)

const uiConfig = {
  signInFlow: 'popup',
  signInOptions: [
    firebase.auth.GoogleAuthProvider.PROVIDER_ID,
    firebase.auth.EmailAuthProvider.PROVIDER_ID
  ]
}

class Login extends Component {

  componentDidMount() {
    console.log("component mounted")
    var ui = new firebaseui.auth.AuthUI(firebase.auth())
    ui.start('#firebaseui-auth-container', uiConfig)
  }

  render() {
    return (
      <div id="firebaseui-auth-container"></div>
    )
  }
}

export default Login

所有firebase内容都有效,直到我尝试使用new firebaseui.auth.AuthUI(firebase.auth())初始化firebaseUI小部件,这时它会抛出错误firebase.initializeApp is not a function。问题似乎源于node_modules/firebaseui/dist/npm.js:340,其中调用了initializeApp。

其他人遇到过这种行为(并希望解决它)?

这是我的火力基地依赖性btw:

"firebase": "^5.0.2",
"firebaseui": "^3.0.0"

1 个答案:

答案 0 :(得分:0)

新版本的firebase(5.0.2)存在问题。切换到版本4.13.0解决了这个问题。