Home > Enterprise >  Objects are not valid as a React child (found: object with keys {})
Objects are not valid as a React child (found: object with keys {})

Time:12-28

I am having trouble on posting the error from data after submit incorrect mail and password. With debugger i'm seeing error text, but the page has error: Objects are not valid as a React child (found: object with keys {}). If you meant to render a collection of children, use an array instead.

import { signInWithEmailAndPassword } from 'firebase/auth';
import React, {useState} from 'react';
import auth from '../../Firebase/firebase';

const SignIn = (errorCode) => {
    
    const [email, setEmail] = useState('');
    const [password, setPassword] = useState('');
    const [errorText, setErrorText] = useState(false);

   

    const signIn = (e) => {
        e.preventDefault();
        signInWithEmailAndPassword(auth, email, password)
        .then((userCredential) => {
            console.log(userCredential);
        })
        .catch((error) => {
            let errorCode = error.code;
            let errorMessage = error.message;
            
            debugger;
            console.log(errorCode)
            
            return (
            setErrorText(true))
           
        })

    }
  return (
    <div>
        <form onSubmit={signIn}>
            <h1>Hey, Log In</h1>
            <input type='email' placeholder='enter email' value={email} onChange={(e) => setEmail(e.target.value)}></input>
            <input type='password' placeholder='enter pass' value={password} onChange={(e) => setPassword(e.target.value)}></input>
            
            { errorText ? <div>{errorCode}</div> : null 
   
            }
            
            <button type='submit'>Push to login</button>
            
        </form>
    </div>
  )
}

export default SignIn

I expected to image errorCode at the page signIn. Please, help me.

CodePudding user response:

Hey you can declare the error code in global scope using useState like below and can follow below thread for looking into this kind of errors https://stackabuse.com/bytes/fix-objects-are-not-valid-as-a-react-child-error-in-react/

 import React, { useState } from "react";

const SignIn = () => {
  const [errorCode, setErrorCode] = useState("");
  const [email, setEmail] = useState("");
  const [password, setPassword] = useState("");
  const [errorText, setErrorText] = useState(false);
  
  

  const signIn = (e) => {
    e.preventDefault();
    setErrorCode('400')
    console.log(errorCode);
   setErrorText(true);
  };

  return (
    <div>
      <form onSubmit={signIn}>
        <h1>Hey, Log In</h1>
        <input
          placeholder="enter email"
          value={email}
          onChange={(e) => setEmail(e.target.value)}
        ></input>
        <input
          type="password"
          placeholder="enter pass"
          value={password}
          onChange={(e) => setPassword(e.target.value)}
        ></input>

        {errorText ? <div>Error code {errorCode}</div> : null}

        <button type="submit">Push to login</button>
      </form>
    </div>
  );
};

export default SignIn;
  • Related