代码之家  ›  专栏  ›  技术社区  ›  Mel

使用Firebase身份验证作出反应

  •  9
  • Mel  · 技术社区  · 6 年前

    我正在尝试用firebase身份验证设置react。

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

    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

    对我来说,那个常量被分配到第22行。在进一步的调查中,人们注意到这是一个ES5表达式,应该为ES6更新,然后引出一条推理的道路,这表明这不是一个在ES6中使用的有用方法。我不确定这是否是我解决问题的过程的一部分。

    当我只是在Register页面上使用代码沙盒时,从第78行开始的return语句中出现语法错误,但是我看不出有什么问题。

    任何人都能提供一些如何在react中开始使用Firebase身份验证(在用户注册时使用挂起标志)的示例吗。我不是自己写这段代码的,在最好的时候也很难理解基础知识,所以我想把它作为一个学习练习来解决,但如果它不是一个可靠的基础,那么我也会感谢你的建议。

    1 回复  |  直到 6 年前
        1
  •  5
  •   Xander    6 年前

    错误是因为您没有正确导出/导入firebase auth对象。

    打印 auth 第4行导入的变量 注册页面.js 你会明白的 undefined :

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

    检查路径是否正确,以及 firebase.js 有一个 认证 财产。