blob: 64c1b9a750c2883d1aa192140c782dc3c6e0196d [file] [log] [blame] [edit]
import React, { createContext, useContext, useState, useEffect } from 'react';
const UserContext = createContext();
export const UserProvider = ({ children }) => {
const [user, setUser] = useState(null);
const [loading, setLoading] = useState(true);
// 加载本地存储的用户信息
useEffect(() => {
const storedUser = localStorage.getItem('user');
if (storedUser) {
setUser(JSON.parse(storedUser));
}
setLoading(false);
}, []);
// 保存用户信息到本地存储
const saveUser = (userData) => {
localStorage.setItem('user', JSON.stringify(userData));
setUser(userData);
};
// 退出登录
const logout = () => {
localStorage.removeItem('user');
setUser(null);
};
return (
<UserContext.Provider value={{ user, loading, saveUser, logout }}>
{children}
</UserContext.Provider>
);
};
export const useUser = () => useContext(UserContext);