目标:当用户不为空时,我需要显示导航栏,为此我使用useEffect和useState。我是如何理解当网站加载时,用户不再为空,所以useEffect不起作用的。我该如何让它发挥作用?
import {BrowserRouter as Router, Routes, Route} from 'react-router-dom';
import { useState, useEffect } from 'react';
import { auth } from "./components/LoginForm/firebase.js";
function App() {
const user = auth.currentUser
const [Navbarshow, setNavbar] = useState(false)
useEffect(() => {
if (!user === null) {
setNavbar(true)
}
}, [user])
return (
<div className="App">
<Router>
{Navbarshow ? <Navbar /> : null}
<button onClick={() => console.log(Navbarshow, user)}>Test</button>
这是App.js的一部分,问题在哪里
你能试试这个吗?我希望能奏效。感谢
useEffect(() => {
if (!auth.currentUser) {
setNavbar(true)
} else {
setNavbar(false)
}
}, [auth.currentUser])