首页 > 解决方案 > 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;

标签: javascriptreactjs

解决方案


firebase.loginUser(email, password)返回undefined。您尝试访问then未定义对象的属性。


推荐阅读