【发布时间】: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