通过Firebase身份验证做出反应

时间:2018-08-04 02:56:37

标签: javascript reactjs firebase firebase-authentication

我正在尝试使用Firebase身份验证进行设置。

注册页面有问题。当我注释掉注册页面时,我的本地页面呈现没有任何问题。当我取消注释该页面时,出现错误消息:

npm.js:341 Uncaught TypeError: Cannot read property 'app' of undefined
    at new hm (npm.js:341)
    at Object.<anonymous> (RegisterPage.js:12)
    at __webpack_require__ (bootstrap 5a6a0f74168ebcba0a5a:19)
    at Object.defineProperty.value (AppRouter.js:10)
    at __webpack_require__ (bootstrap 5a6a0f74168ebcba0a5a:19)
    at Object.<anonymous> (app.js:7)
    at __webpack_require__ (bootstrap 5a6a0f74168ebcba0a5a:19)
    at Object.<anonymous> (bundle.js:50999)
    at __webpack_require__ (bootstrap 5a6a0f74168ebcba0a5a:19)
    at module.exports (bootstrap 5a6a0f74168ebcba0a5a:62)

我尝试在以下代码沙箱中重新创建应用程序的最小部分:https://codesandbox.io/s/6w2r0267kk。但是,我在代码沙箱中收到一条错误消息:TypeError-无法获取依赖项,请在几秒钟后重试:无法获取。每次大约需要2个小时才会出现此错误,现在已重复3次。我不确定在尝试使用该工具时是否做错了什么。

其他遇到与我相同的错误消息的人建议'this'可能未正确定义:Uncaught TypeError: Cannot read property 'app' of undefined

对我来说,该const在第22行中分配。在查询的那一行中,人们注意到这是一个ES5表达式,应针对ES6进行更新-然后通过一条推理路径表明这是“这是在ES6中使用的有用方法。我不确定是否要弄清楚这一点是否是我解决方案的一部分。

当我只使用“注册”页面上的代码沙箱时,指示从第78行开始的return语句中出现语法错误,但我看不出这是怎么回事。

任何人都可以提供有关如何在响应中开始使用Firebase身份验证的示例的帮助(在用户注册时带有挂起标志)。我不是亲自编写此代码,而是在最佳时机上努力理解基础知识,因此我想尝试将其作为学习练习,但是如果它不是一个可靠的基础,那么我也将不胜感激该建议。

1 个答案:

答案 0 :(得分:5)

错误是因为您未正确导出/导入Firebase身份验证对象。

打印在 RegisterPage.js 的第4行导入的auth变量,您将看到它是undefined

import { firebase, auth } from "../../firebase/firebase";

检查路径是否正确,并且从firebase.js的默认导出具有auth属性。