尝试从"Logout"按钮上的本地存储中删除令牌



我正在创建一个基本的登录表单,该表单使用输入的任何凭据存储令牌。在我的useToken.js中,我创建了一个箭头函数,应该删除Token:

const removeToken = (userToken) => {
localStorage.removeItem("token");
setToken(null);
};

在我的头部,我得到注销按钮,应该removeToken和注销用户,当它被点击。我的Header.js按钮应该注销一个用户看起来像这样:

<Button variant="danger" onClick={removeToken}>
LogOut
</Button>

抛出removeTokenis not defined错误。

localStorage.clear();

看看这个(:

基于抛出的定义错误,似乎您还没有将函数removeToken导入到您要使用的模块。所以先导出再导入,然后再使用。

带有fix的代码看起来像这样

useToken.js

export const removeToken = (userToken) => { // export function from module 
localStorage.removeItem("token");
setToken(null);
}

Header.js

import { removeToken } from './useToken.js' // import removeToken function from useToken.js module
...
<Button variant="danger" onClick={removeToken}>
LogOut
</Button>

不要忘记在导入时根据你的项目结构调整模块的路径。

最新更新