I'm pretty sure i'm doing it right, but the RecaptchaVerifier is causing this error: TypeError: Cannot read property 'prototype' of undefined, js engine: hermes, it is written in react native:
import { StatusBar } from "expo-status-bar";
import { StyleSheet, Text, View, Button } from "react-native";
import { auth } from "./firebaseConfig";
import { useRef } from "react";
import { RecaptchaVerifier, signInWithPhoneNumber } from "firebase/auth";
export default function App() {
let phone = "+639612895391";
const myRef = useRef();
const requestOtp = () => {
generateRecaptcha();
let appVerifier = window.recaptchaVerifier;
signInWithPhoneNumber(auth, phone, appVerifier)
.then((confirmationResult) => {
// SMS sent. Prompt user to type the code from the message, then sign the
// user in with confirmationResult.confirm(code).
window.confirmationResult = confirmationResult;
// ...
console.log("success");
})
.catch((error) => {
// Error; SMS not sent
// ...
console.log(error);
});
};
return (
I'm pretty sure i'm doing it right, but the RecaptchaVerifier is causing this error: TypeError: Cannot read property 'prototype' of undefined, js engine: hermes, it is written in react native: import { StatusBar } from "expo-status-bar"; import { StyleSheet, Text, View, Button } from "react-native"; import { auth } from "./firebaseConfig"; import { useRef } from "react"; import { RecaptchaVerifier, signInWithPhoneNumber } from "firebase/auth";
export default function App() { let phone = "+639612895391"; const myRef = useRef();
const generateRecaptcha = () => { window.recaptchaVerifier = new RecaptchaVerifier( myRef.current, { size: "invisible", callback: (response) => { // reCAPTCHA solved, allow signInWithPhoneNumber. // onSignInSubmit(); }, }, auth ); };
const requestOtp = () => { generateRecaptcha(); let appVerifier = window.recaptchaVerifier; signInWithPhoneNumber(auth, phone, appVerifier) .then((confirmationResult) => { // SMS sent. Prompt user to type the code from the message, then sign the // user in with confirmationResult.confirm(code). window.confirmationResult = confirmationResult; // ... console.log("success"); }) .catch((error) => { // Error; SMS not sent // ... console.log(error); }); }; return (
); }
const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: "#fff", alignItems: "center", justifyContent: "center", }, }); config: import { getAuth } from "firebase/auth"; import { initializeApp } from "firebase/app";
const firebaseConfig = { apiKey: "AIzaSyCCyEg_qMyEl-9y55DjJSlcEs3JJIbzLxc", authDomain: "authentication-4e981.firebaseapp.com", projectId: "authentication-4e981", storageBucket: "authentication-4e981.appspot.com", messagingSenderId: "1046042873971", appId: "1:1046042873971:web:d4d737ed3fc47757929a06", };
const app = initializeApp(firebaseConfig);
export const auth = getAuth(app);