TypeError:无法读取未定义的属性“ native”

时间:2019-10-30 04:59:36

标签: firebase react-native google-cloud-firestore firebase-authentication

我正在React Native应用程序中实现Firebase电话号码身份验证。我正在关注此文档: 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
    }

它给出以下错误: TypeError:无法读取未定义的属性“ native”。

我进行了很多搜索,但无法解决。请帮忙。 Error Screen

2 个答案:

答案 0 :(得分:1)

请喜欢做某事

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
}

答案 1 :(得分:0)

您现在已经从变量分配了功能,但正在从状态值运行它。在变量上运行。

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