为什么导航到一个在react中不起作用的路由?



我有一个react应用程序,其中用户只有在注册/登录后才能访问主页。我在主页中检查了firebase在身份验证时提供的用户对象,如果未定义,我已使用导航将用户重定向回注册。

相同的代码:

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 Homepage

我console.log:


Homepage.js:29 true
Homepage.js:31 sycsd

显然都是控制台。日志正在工作,但它没有导航到注册。

你需要这样做

Const nav=useNavigate()
if(user=={} || !user)
{
nav("/signup");
}

最新更新