【问题标题】:undefined is not a constructor (evaluating 'new _auth.PhoneAuthProvider()')undefined 不是构造函数(评估'new _auth.PhoneAuthProvider()')
【发布时间】:2021-12-13 14:54:33
【问题描述】:

我正在尝试在博览会中实施 Firebase 电话身份验证。 Firebase 已连接,但它给我的错误 undefined is not a constructor(评估 'new _auth.PhoneAuthProvider()')

//send verification code sms
  const sendVerificationCode = async () => {
    try {
      const phoneProvider = new PhoneAuthProvider(); //giving error here
      console.log(phoneProvider);

      const id = await phoneProvider.verifyPhoneNumber(
        phoneNumber,
        recaptchaVerifier.current
      );

      console.log(id);
      Alert.alert("Verification code has been sent to your phone.");
      navigation.navigate("Otp", {
        verificationId: id,
        phoneNumber: phoneNumber,
      });
    } catch (err) {
      // Alert.alert("Please enter a valid number.");
      console.log(err);
    }
  };

【问题讨论】:

  • 您使用哪个版本的 firebase?你可以添加 oacage.json。
  • 同时添加PhoneAuthProvider的导入语句
  • @nima 我正在像 import { getAuth, PhoneAuthProvider } from 'firebase/auth'; 一样导入,正如这里所解释的 docs.expo.dev/versions/latest/sdk/firebase-recaptcha
  • @Frank 实际上 PhoneAuthProvider 方法在 9.1.2 版本中没有被 firebase 公开,这导致了这个问题,现在已经在 9.2.0 版本中解决了。请在此处查看问题github.com/expo/expo/issues/14780。无法标记您的答案
  • 很高兴听到这个问题在 Expo @WahasAliMughal 中得到了解决 ????。您能否为此写一个自我答案,以便其他人也可以更轻松地找到它?

标签: javascript firebase react-native firebase-authentication


【解决方案1】:

Firebase 在 9.1.2 版中未公开 PhoneAuthProvider 方法这是造成此问题的原因,现已在 9.2.0 版中解决。请参阅此处的问题 github.com/expo/expo/issues/14780。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多