提交 fa814afd 作者: 翁进城

优化userProvider

上级 49be21fc
......@@ -11,7 +11,7 @@ export const UserContext = createContext<{
testLogin: () => void;
logout: () => void;
userInfo: UserInfoResp | null | "";
setUserInfo: Dispatch<SetStateAction<UserInfoResp | null | "">>;
setUserInfo: Dispatch<SetStateAction<UserInfoResp | null | undefined>>;
needLogin: Boolean;
setNeedLogin: Dispatch<SetStateAction<Boolean>>;
}>({
......@@ -27,12 +27,14 @@ type Props = {
children: React.ReactNode;
};
const UserProvider = ({ children }: Props) => {
const [userInfo, setUserInfo] = useState<UserInfoResp | null | ''>(null);
const [userInfo, setUserInfo] = useState<UserInfoResp | null | undefined>(null);
const [needLogin, setNeedLogin] = useState<Boolean>(false); //用于通知登录modal需要打开
useEffect(() => {
try {
setUserInfo(JSON.parse(window.localStorage.getItem("userInfo") || ""));
setUserInfo(
JSON.parse(window.localStorage.getItem("userInfo") || "") || undefined
);
} catch (e) {}
}, []);
......@@ -48,7 +50,7 @@ const UserProvider = ({ children }: Props) => {
if (res.code == "200") {
window.localStorage.setItem("token", res.result?.token || "");
api.userInfo().then((res) => {
setUserInfo(res.result || '');
setUserInfo(res.result || undefined);
});
}
});
......@@ -57,7 +59,7 @@ const UserProvider = ({ children }: Props) => {
//登出
function logout() {
localStorage.setItem("token", "");
setUserInfo('');
setUserInfo(undefined);
}
return (
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论