我正在创建一个基本的登录表单,该表单使用输入的任何凭据存储令牌。在我的useToken.js
中,我创建了一个箭头函数,应该删除Token:
const removeToken = (userToken) => {
localStorage.removeItem("token");
setToken(null);
};
在我的头部,我得到注销按钮,应该removeToken
和注销用户,当它被点击。我的Header.js
按钮应该注销一个用户看起来像这样:
<Button variant="danger" onClick={removeToken}>
LogOut
</Button>
抛出removeToken
is 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>
不要忘记在导入时根据你的项目结构调整模块的路径。