在这段代码中,我将isLoggedIn设置为.
登录.js
`
个个
import axios from 'axios'
import React, { useState } from 'react'
import { NavLink,useNavigate } from 'react-router-dom'
export default function LoginPage() {
const [username,setUsername]=useState("")
const [password,setPassword]=useState("")
const [isLoggedIn, setIsLogged] = useState(false)
const navigate = useNavigate();
function checkInformations(){
axios.post("/api/auth/login",{
username :username,
password:password
})
.then(response=>{
if(response.status===200){
setIsLogged(true)
console.log("Success")
navigate("/")
}
})
.catch(error=>{
console.error("Request error: ",error)
setWarning(true)
});
}
function handleLoginClick(e){
e.preventDefault();
checkInformations()
}
return (
<div className="grid min-h-screen place-items-center font-body ">
...
<button onClick={handleLoginClick} type="submit" >
Login
</button>
...
</form>
</div>
</div>
)
}
`
个个
App.js
我首先将其设置为FALSE,然后在login.js中,如果登录成功,则将其设置为TRUE.
export default function App() {
const [isLoggedIn, setIsLogged] = useState(false);
return (
<div >
<Navbar isLoggedIn={isLoggedIn} />
<Routes>
<Route path="/login" element={<LoginPage setIsLogged={setIsLogged} />} />
</Routes>
</div>
);
}
导出默认函数导航栏(Props){const isLoggedIn=pros.isLoggedIn;
这就是我最终得到props 的方法.但isLoggedIn的props 不可能是真的