Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

228
Visualizações
TypeError: no se pueden leer las propiedades de undefined (leyendo 'setIsAuth')

Estoy recibiendo un error: "Login.js: 12 Uncaught (en promesa) TypeError: No se pueden leer las propiedades de undefined (leyendo 'setIsAuth')"

Aquí está mi Login.js

 import React from 'react'; import { auth, provider } from '../firebaseconf'; import { signInWithPopup } from 'firebase/auth'; import { useNavigate } from 'react-router-dom'; function Login({ setIsAuth }) { let navigate = useNavigate(); const singInWithGoogle = () => { signInWithPopup(auth, provider).then((result) => { localStorage.setItem("isAuth", true); setIsAuth(true); navigate("/"); }); }; return ( <div> <button onClick={singInWithGoogle}>Sign in with Google</button> </div> ); } export default Login;

Y ahí está mi App.js

 import React, { Component } from 'react'; import './css/main.css'; import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom'; import Home from './pages/Home'; import CreatePost from './pages/CreatePost'; import Login from './pages/Login'; class App extends Component { constructor(props) { super(props); this.state = { isAuth: false, setIsAuth: false }; } render() { return ( <Router> <nav> <Link to="/">Home</Link> <Link to="/createpost"> Create New Post</Link> {!this.state.isAuth && <Link to="/login">Login</Link>} </nav> <Routes> <Route path="/" element={<Home />} /> <Route path="/login" element={<Login setIsAuth={this.state.setIsAuth} />} /> <Route path="/createpost" element={<CreatePost />} /> </Routes> </Router> ); } } export default App;

creo que ya lo definí en App.js en el constructor, busco tu ayuda, gracias

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En login.js está usando setIsAuth como si fuera una función pero no es una función, es una variable configurada como false en su App.js Para cambiar el valor de this.state.setIsAuth , debe hacer algo como esto:

 App.js signIn = () => { this.setState({ setIsAuth: true }); } <Route path="/login" element={<Login setIsAuth={this.signIn} />} /> Login.js signInWithPopup(auth, provider).then((result) => { localStorage.setItem("isAuth", true); setIsAuth(); navigate("/"); });
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda