【发布时间】:2022-08-12 00:54:11
【问题描述】:
我试图创建一条私人路线,如果我没有登录,它将重定向到登录,如果没有,那么它将带我回家,但我正在努力让它工作
我的 privateRoute.js
import React, { useState, useEffect } from \'react\'
import { Navigate, useNavigate } from \"react-router-dom\"
import Axios from \'axios\'
import Home from \"./home/home.js\"
const PrivateRoute = ({ children }) => {
Axios.defaults.withCredentials = true;
const navigate = useNavigate();
useEffect(()=> {
Axios.get(\"http://localhost:3001/login\").then((response) => {
if (response.data.loggedIn === true) {
console.log(\"HOME\")
return (
<>
<Home/>
</>
)
} else {
navigate(\"/\" , {replace: true})
}
})
},[])
}
export default PrivateRoute
我的 App.js
import React from \'react\'
import { Route, Routes } from \"react-router-dom\"
// COMPONENTS
import Login from \'./login/login.js\'
import Home from \'./home/home.js\'
import PrivateRoute from \'./PrivateRoute.js\'
// STYLE
import \'./login/login.css\'
import \'./register/register.css\'
import \'./App.css\'
const App = () => {
return (
<>
<Routes>
<Route exact path=\"/\" element={<Login/>}></Route>
<Route exact path=\"/home\" element={
<PrivateRoute>
<Home/>
</PrivateRoute>
}></Route>
</Routes>
</>
)
}
export default App