首页 > 解决方案 > 让 React 页面只对经过身份验证的用户可见?(使用 Django DRF 作为后端)

问题描述

我的 JWT 身份验证正常工作,我可以通过我的 React 项目注册和登录,我想将经过身份验证的用户重定向到主页,导航栏会显示“注销”而不是“登录”和“登录”向上'。

在 Django 中,我只会在模板中放置一个 {% if user.is_authenticated %} ,但我不确定如何从 React 本身解决这个问题。

提前致谢!

标签: reactjsdjangodjango-rest-framework

解决方案


因此,您可以将令牌保存在 cookie 上,稍后从 cookie 中获取令牌,然后定义它,如果令牌可用,则显示注销,否则显示登录菜单。

import Cookies from 'universal-cookie';
const cookies = new Cookies();

let token = cookies.get('Token')

return(
    <div>
        {token ? (
            <ul>
                <li>Logout</li>
            </ul>
        ): (
            <ul>
                <li>Login</li>
                <li>Signup</li>
            </ul>
        )}
    </div>
)

推荐阅读