javascript - React - 错误:TypeError:无法读取未定义的属性(读取'then')
问题描述
嗨,我是反应 js 的新手,我在登录页面上遇到了这个问题, TypeError: Cannot read properties of undefined (reading 'then')
问题来自 .then(user => {)} 的函数 handleSubmit(),
你能帮帮我吗
PS:我正在使用 Firebase
import React, {useState, useEffect, useContext} from 'react'
import { Link } from 'react-router-dom'
import {FirebaseContext} from '../Firebase'
const Login = (props) => {
const firebase = useContext(FirebaseContext);
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [btn, setBtn] = useState(false);
const [error, setError] = useState('');
useEffect(() => {
if(password.length > 5 && email !==""){
setBtn(true)
}else if(btn){
setBtn(false)
}
}, [password, email, btn])
const handleSubmit = e => {
e.preventDefault();
firebase.loginUser(email, password)
.then((user) => {
setEmail('');
setPassword('');
props.history.push('/welcome');
})
.catch(error => {
setError(error);
setEmail('');
setPassword('');
})
}
return(myhtml)
export default Login;
解决方案
firebase.loginUser(email, password)
返回undefined
。您尝试访问then
未定义对象的属性。
推荐阅读
- typescript - 我如何详细了解[...更多]?
- angularjs - AngularJS 1.7 - templateUrl 在视图中显示 url 而不是模板
- javascript - 循环遍历 2 个 Json 文件,其中每个 200k 记录
- concatenation - MODIS(MYD06_L2) 使用 xarray 和 dask 连接文件
- cordova - 如何使用cordova本地化插件
- java - 如何修复无法解决视图中膨胀的布局?
- lubridate - 如何找到两个日期列之间的年份差异?
- mysql - 位操纵器如何在 mySQL 中工作(以本例为例)
- html - 尽管是 inline-block,但元素表现得像块
- azure-api-management - 支持关闭时 Azure Api 管理返回详细错误,包括 oath 令牌