Reactjs 尝试加载组件时出现白色页面
你好! 因此,我在React.js中做了一个练习,其中包括创建一个登录页面。 一旦提交了正确的电子邮件和密码,我就会得到一个存储在LocalStorage中的令牌,然后应用程序应该呈现该组件(检查用户是否登录),但它没有,而是显示一个白色页面,路由不会更改为“/主页”。 这是我的代码:Reactjs 尝试加载组件时出现白色页面,reactjs,authentication,react-hooks,jwt,react-router-dom,Reactjs,Authentication,React Hooks,Jwt,React Router Dom,你好! 因此,我在React.js中做了一个练习,其中包括创建一个登录页面。 一旦提交了正确的电子邮件和密码,我就会得到一个存储在LocalStorage中的令牌,然后应用程序应该呈现该组件(检查用户是否登录),但它没有,而是显示一个白色页面,路由不会更改为“/主页”。 这是我的代码: import React, { useState } from "react"; import Axios from "axios"; import { BrowserRo
import React, { useState } from "react";
import Axios from "axios";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import {
setToken,
deleteToken,
getToken,
initAxiosInterceptors,
} from "./helpers/auth-helpers";
import LoginForm from "./views/login/LoginForm";
import HomePage from "./views/home/HomePage";
initAxiosInterceptors();
const App = () => {
const [isLogged, setIsLogged] = useState(null);
const login = async (email, password) => {
const { data: isLogged } = await Axios.post(
"http://challenge-react.alkemy.org/",
{
email,
password,
}
);
console.log(isLogged);
setIsLogged(isLogged.token);
setToken(isLogged.token);
};
const logout = () => {
setIsLogged(null);
deleteToken();
};
return (
<Router>
{isLogged ? <LoginRoutes /> : <LogoutRoutes login={login} />}
</Router>
);
};
export default App;
const LogoutRoutes = ({ login }) => {
return (
<Switch>
<Route
path="/login"
render={(props) => <LoginForm {...props} login={login} />}
/>
</Switch>
);
};
const LoginRoutes = () => {
return (
<Switch>
<Route path="/home" component={HomePage} />
</Switch>
);
};
import React,{useState}来自“React”;
从“Axios”导入Axios;
从“react Router dom”导入{BrowserRouter as Router,Route,Switch};
进口{
setToken,
删除令牌,
格托克,
初始受体,
}来自“/helpers/auth helpers”;
从“/views/login/LoginForm”导入LoginForm;
从“/views/home/home”导入主页;
initAxiosInterceptors();
常量应用=()=>{
const[isLogged,setIsLogged]=useState(null);
const login=async(电子邮件、密码)=>{
const{data:isLogged}=wait Axios.post(
"http://challenge-react.alkemy.org/",
{
电子邮件,
密码,
}
);
console.log(islog);
setIsLogged(isLogged.token);
setToken(isloged.token);
};
常量注销=()=>{
setIsLogged(空);
deleteToken();
};
返回(
{isLogged?:}
);
};
导出默认应用程序;
常量LogoutRoutes=({login})=>{
返回(
}
/>
);
};
常量登录路径=()=>{
返回(
);
};