Tengo una aplicación de reacción en la que los usuarios pueden acceder a la página de inicio solo después de registrarse/iniciar sesión. He comprobado el objeto de usuario proporcionado por firebase tras la autenticación en la página de inicio y, si no está definido, he utilizado Navigate para redirigir al usuario de nuevo al registro.
Código para el mismo:
import React, {useEffect,useState} from 'react' import {Link,useNavigate,Navigate} from 'react-router-dom'; import profile from './t1.webp' var usernm=""; const Homepage = ({user,username,setusername}) => { if(user=={} || !user) { console.log(!user); <Navigate to="/signup"></Navigate> console.log("sycsd") } return ( <> <header> //code for homepage </header> </> ) } export default HomepageMi consola.log:
Homepage.js:29 true Homepage.js:31 sycsdaparentemente ambos console.logs están funcionando aún no se navega para registrarse.
Tienes que hacerlo así
Const nav=useNavigate() if(user=={} || !user) { nav("/signup"); }