Ошибка типа: не удается прочитать свойство 'native' из неопределенного - PullRequest
0 голосов
/ 30 октября 2019

Я выполняю проверку подлинности по номеру телефона Firebase в приложении React Native. Я следую этой документации: https://invertase.io/oss/react-native-firebase/v6/auth/phone-auth

Это успешно выполняется:

const {confirm} = await firebase.auth().signInWithPhoneNumber(value);
this.setState({confirm})
console.log(confirm)     // is a function

Теперь, когда я запускаю подтверждение (код):

    try {
      await this.state.confirm('123456');
      // Successful login - onAuthStateChanged is triggered
    } catch (e) {
      console.error(e); // Invalid code
    }

Это дает следующееerror: TypeError: Невозможно прочитать свойство 'native' из undefined.

Я много искал, но не смог решить. Пожалуйста помоги. Error Screen

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Пожалуйста, сделайте как-нибудь

this.state = {confirmResult: null};

Затем

const confirmResult = await firebase.auth().signInWithPhoneNumber(value);
this.setState({confirmResult});

И затем

const { confirmResult } = this.state;

try {
   await confirmResult.confirm('123456');
   // Successful login - onAuthStateChanged is triggered
} catch (e) {
   console.error(e); // Invalid code
}
0 голосов
/ 30 октября 2019

Вы назначили функцию из переменной, но запускаете ее из значения состояния. Запустите переменную.

try {
  await confirm('123456'); // User entered code
  // Successful login - onAuthStateChanged is triggered
} catch (e) {
  console.error(e); // Invalid code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...