【发布时间】:2020-10-27 21:45:46
【问题描述】:
import { useEffect, useState } from 'react';
import { useRouter } from 'next/router';
import Login from './index';
import auth from '../services/authService';
export default function App({ Component, pageProps }) {
const [user, setUser] = useState(null);
const router = useRouter();
useEffect(() => {
const user = auth.getCurrentUser();
setUser(user);
if (!user) return router.replace('/');
}, []);
return <Component {...pageProps} />;
}
这里-
-
Login组件包含登录表单。 -
auth.getCurrentUser()返回 jwt 解码的用户对象。
我不希望未经授权的用户访问除登录页面之外的任何页面。它甚至会起作用吗?我正在为这个问题寻找一个好的解决方案。
【问题讨论】:
标签: reactjs authentication next.js