Reactjs 尝试加载组件时出现白色页面

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

你好! 因此,我在React.js中做了一个练习,其中包括创建一个登录页面。 一旦提交了正确的电子邮件和密码,我就会得到一个存储在LocalStorage中的令牌,然后应用程序应该呈现该组件(检查用户是否登录),但它没有,而是显示一个白色页面,路由不会更改为“/主页”。 这是我的代码:

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})=>{
返回(
}
/>
);
};
常量登录路径=()=>{
返回(
);
};