Форум программистов, компьютерный форум, киберфорум
React/ReactJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 3
Регистрация: 20.12.2015
Сообщений: 339

React Netiv Firebase не отправляет смс подтверждение

17.03.2024, 08:04. Показов 557. Ответов 2

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Делаю авторизацию по номеру телефона. Выдает ошибку
LOG Error sending code: Exception in HostFunction: Malformed calls from JS: field sizes are different.

[[5,5,5,5,5,5,37,37,37,37,22],[2,0,2,0,2,0,12,13,16,39,0],[["auth_state_changed"],["rnfb_auth_state_changed"],["auth_id_token_changed"],["rnfb_auth_id_token_changed"],["phone_auth_state_changed"],["rnfb_phone_auth_state_changed"],["[DEFAULT]"],["[DEFAULT]"],["[DEFAULT]"],[24,100,1710589434449,false]],527]
поискал в интернете не нашел ответа. Можете помочь с кодом

Кликните здесь для просмотра всего текста

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import 'react-native-gesture-handler';
import React, {useState} from 'react';
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
import auth from "@react-native-firebase/auth";
import firestore from "@react-native-firebase/firestore";
import { useNavigation } from '@react-navigation/native';
import { TextInput } from 'react-native-gesture-handler';
 
export default function App() {
    const [phoneNumber, setPhoneNumber] = useState('');
    const [code, setCode] = useState('');
    const [confirm, setConfirm] = useState(null);
    const navigation = useNavigation();
 
    const signInWithPhoneNumber = async () =>{
        try{
            const confirmation = await auth().signInWithPhoneNumber(phoneNumber);
            setConfirm(confirmation);
        }catch(error){
            console.log("Error sending code: ", error.message);
        }
    };
 
    const confirmCode = async () => {
        try{
            const userCredential = await confirm.confirm(code);
            const user = userCredential.user;
 
            const userDocument = await firestore()
                .collection("users")
                .doc(user.uid)
                .get();
 
            if(userDocument.exists){
                navigation.navigate("Dashboard");
            }else{
                navigation.navigate("Detail", {uid:user.uid});
            }
        }catch(error){
            console.log("Invalid code.", error.message);
        }
    };
 
    return (
      <View style={styles.container}>
        <Text>phone number authentication using firebase</Text>
        {!confirm ? (
            <>
                <Text>enter phone number</Text>
                <TextInput
                    placeholder='+7 (000) 000 00 00'
                    value={phoneNumber}
                    onChange={setPhoneNumber}
                    keyboardType='phone-pad' 
                />
                <TouchableOpacity onPress={signInWithPhoneNumber}>
                    <Text>Send code</Text>
                </TouchableOpacity>
            </>
        ):(
            <>
                <Text>Enter the code sent to your phone</Text>
                <TextInput
                    placeholder='enter code'
                    value={code}
                    onChange={setCode}
                    keyboardType='number-pad'
                />
                <TouchableOpacity onPress={confirmCode}>
                    <Text></Text>
                </TouchableOpacity>
            </>
        )}
      </View>
    );
}
 
const styles = StyleSheet.create({
    container: {
      flex: 1,
      backgroundColor: '#fff',
      alignItems: 'center',
      justifyContent: 'center',
    },
  });
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2024, 08:04
Ответы с готовыми решениями:

Не отправляет подтверждение регистрации на email
Добрый день! В общем проблема такая, при регистрации на моем сайте людям не приходит на email письмо с ссылкой для подтверждения....

подтверждение смс
короче нужно сделать на сайте подтверждение мобильного телефона смс с кодом

Не приходит смс с кодом от Firebase
Здравствуйте,написал приложение которое проводит регистрацию и всё работало. Потом изменил в нем название и подпись под нужное мне...

2
250 / 184 / 58
Регистрация: 12.03.2021
Сообщений: 1,043
18.03.2024, 09:21
onChangeText должен использоваться в TextInput, а не onChange. т.о. скорее всего в phoneNumber лежит непонятно что
Цитата Сообщение от Umar Egamberdie Посмотреть сообщение
auth().signInWithPhoneNumber(phoneNumber )
и тут ожидается другое значение для отправки.
0
2 / 2 / 3
Регистрация: 20.12.2015
Сообщений: 339
21.03.2024, 13:13  [ТС]
Splaisto, мое не внимательность, поправил на onChengeText, все равно не работает
Error sending code: [Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()]
Login.js
Кликните здесь для просмотра всего текста
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import React, {useState} from 'react';
import { StyleSheet, Text, View, TextInput, TouchableOpacity } from 'react-native';
import auth from '@react-native-firebase/auth';
import firestore from '@react-native-firebase/firestore';
import { useNavigation } from '@react-navigation/native';
 
export default function Login() {
  const [phoneNumber, setPhoneNumber] = useState('');
  const [code, setCode] = useState('');
  const [confirm, setConfirm] = useState(null);
  const navigation = useNavigation();
 
  const signInWithPhoneNumber = async()=>{
    try{
      const confirmation = await auth().signInWithPhoneNumber(phoneNumber);
      setConfirm(confirmation);
    }catch(error){
      console.log('Error sending code:', error);
    }
  };
 
  const confirmCode = async()=>{
    try{
      const userCredential = await confirm.confirm(code);
      const user = userCredential.user;
      const userDocument = await firestore()
        .collection('users')
        .doc(user.uid)
        .get();
 
      if(userDocument.exists){
        navigation.navigate('Dashboard');
      }else{
        navigation.navigate('Detail', {uid: user.uid});
      }  
    }catch(error){
      console.log('Invalid code.', error);
    }
  };
 
  return (
    <View style={styles.container}>
      <Text>Phone Number Authentication Using Firebase</Text>
      {!confirm ?(
        <>
          <Text>Enter your phone number</Text>
          <TextInput
            placeholder='+7 (000) 000 00 00'
            value={phoneNumber}
            onChangeText={setPhoneNumber}
            keyboardType='phone-pad'
          />
          <TouchableOpacity onPress={signInWithPhoneNumber}>
            <Text>Send Code</Text>
          </TouchableOpacity>
        </>
      ):(
        <>
          <Text>Enter the code sent to your phone:</Text>
          <TextInput
            placeholder='Enter code'
            value={code}
            onChangeText={setCode}
            keyboardType='number-pad'
          />
          <TouchableOpacity onPress={confirmCode}>
            <Text>confirm Code</Text>
          </TouchableOpacity>
        </>
      )}
    </View>
  );
}
 
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    alignItems: 'center',
    justifyContent: 'center',
  },
});
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2024, 13:13
Помогаю со студенческими работами здесь

Обновление данных firebase в React приложении
Доброго времени суток!) Интегрирую в React-приложение типа todo-list подключение к Firebase. Получаю данные и добавляю их в state в...

Подтверждение номера телефона через СМС
Здравствуйте. Подскажите пожалуйста, есть задача подтверждать номер мобильного телефона при заполнении формы обратной связи на сайте....

Не получается отправить данные о пользователе на сервер. Firebase+react
async register(name, surname, email, password) { await this.auth.createUserWithEmailAndPassword(email, password); return...

M590 не отправляет СМС
Модем видится в сети регистрируется. Вот кусок лога терминальной программы. AT+CMGF=1 OK AT+CSCS=&quot;GSM&quot; OK ...

Kannel. Отправляет входящее смс
Всем привет! Настроен smpp Kannel, сообщения принимает, всё хорошо. Проблема в том, что каждое полученное смс, он пытается отправить,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru