【问题标题】:react-firebaseui StyledFirebaseAuth is not getting compiledreact-firebaseui StyledFirebaseAuth 没有被编译
【发布时间】:2021-02-12 15:16:17
【问题描述】:

根据我编写的代码的文档,我正在使用 react-firebaseui 进行身份验证

import React from "react";
import StyledFirebaseAuth from "react-firebaseui/StyledFirebaseAuth";
import firebase from "firebase";

const firebaseConfig = {
  ...
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);


// Configure FirebaseUI.
const uiConfig = {
  // Popup signin flow rather than redirect flow.
  signInFlow: "popup",
  // Redirect to /signedIn after sign in is successful. Alternatively you can provide a callbacks.signInSuccess function.
  //   signInSuccessUrl: '/signedIn',
  // We will display Google and Facebook as auth providers.
  signInOptions: [firebase.auth.GoogleAuthProvider.PROVIDER_ID],
};

export const SignInWith = () => (
<>
    <p>Login</p>
    <StyledFirebaseAuth uiConfig={uiConfig} firebaseAuth={firebase.auth()} />
</>
);

但我不断收到此错误

./node_modules/firebaseui/dist/esm.js
尝试导入错误:“app”未从“firebase/app”导出(导入为“firebase”)。`.

我尝试使用 import firebase from 'firebase/app 导入 firebase,但仍然出现同样的错误。 我尝试评论 StyledFirebaseAuth 导入和标记并且它正在工作,所以我确定问题出在 react-firebaseui 上。 这是我的 package.json

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@material-ui/core": "^4.11.0",
    "@material-ui/icons": "^4.9.1",
    "@reduxjs/toolkit": "^1.4.0",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.5.0",
    "@testing-library/user-event": "^7.2.1",
    "@types/jest": "^24.9.1",
    "@types/node": "^12.19.2",
    "@types/react": "^16.9.54",
    "@types/react-dom": "^16.9.9",
    "@types/react-redux": "^7.1.9",
    "axios": "^0.21.0",
    "firebase": "^8.0.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-firebaseui": "^4.1.0",
    "react-redux": "^7.2.2",
    "react-router-dom": "^5.2.0",
    "react-scripts": "4.0.0",
    "typescript": "^3.8.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@types/react-router-dom": "^5.1.6",
    "babel-plugin-import": "^1.13.1",
    "customize-cra": "^1.0.0",
    "react-app-rewired": "^2.1.6"
  }
}

感谢您的帮助。

【问题讨论】:

  • 请编辑问题以显示您的 package.json。每个库的版本都很重要。如果您最近更改了某些内容,请说出那是什么。
  • 我认为你需要在react-firebase之前导入firebase。你能检查一下吗?
  • @ShubhamVerma 我尝试在 react-firebaseui 之前导入 firebase,但仍然出现错误,导入也是文档中的内容。

标签: reactjs firebase firebaseui


【解决方案1】:

不幸的是,您已将“firebase”依赖项升级到 8.0.0,但“firebaseui”依赖项尚不支持它。在 firebaseui 和 react-firebaseui 支持 breaking changes in 8.0.0 之前,您必须暂时将 firebase 降级到版本 7.24.0。

【讨论】:

  • 没有其他的走走
【解决方案2】:

import firebase随着9.0.0版本的变化,现在有兼容性不需要降级,所以你可以在你的imports中使用/compat文件夹,

import firebase from 'firebase/compat/app'

【讨论】:

    猜你喜欢
    • 2017-08-28
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多