为什么导航到一条不能反应的路线?
Why Navigate to a route not working in react?
我有一个反应应用程序,其中用户只有在注册/登录后才能访问主页。我已经在主页中检查了 firebase 在身份验证时提供的用户对象,如果它未定义,我已经使用 Navigate 将用户重定向回注册。
相同的代码:
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
显然两个 console.log 都在工作,但仍未导航到注册。
你需要这样做
Const nav=useNavigate()
if(user=={} || !user)
{
nav("/signup");
}
我有一个反应应用程序,其中用户只有在注册/登录后才能访问主页。我已经在主页中检查了 firebase 在身份验证时提供的用户对象,如果它未定义,我已经使用 Navigate 将用户重定向回注册。
相同的代码:
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
显然两个 console.log 都在工作,但仍未导航到注册。
你需要这样做
Const nav=useNavigate()
if(user=={} || !user)
{
nav("/signup");
}