修改好友动态、发布动态、促销模块、创建帖子,Resolve review.

Change-Id: I84a2460dd1208bc703b0527d98225204d03e5efc
diff --git a/src/context/UserContext.js b/src/context/UserContext.js
index a2be382..69f73bd 100644
--- a/src/context/UserContext.js
+++ b/src/context/UserContext.js
@@ -1,7 +1,49 @@
+// 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));
+//     } else {
+//       // 设置默认用户(id: 1)
+//       const defaultUser = { id: 1, name: '测试用户' };
+//       localStorage.setItem('user', JSON.stringify(defaultUser));
+//       setUser(defaultUser);
+//     }
+//     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);
+
 import React, { createContext, useContext, useState, useEffect } from 'react';
 
+// 创建上下文
 const UserContext = createContext();
 
+// Provider 组件
 export const UserProvider = ({ children }) => {
   const [user, setUser] = useState(null);
   const [loading, setLoading] = useState(true);
@@ -11,7 +53,7 @@
     if (storedUser) {
       setUser(JSON.parse(storedUser));
     } else {
-      // 设置默认用户(id: 1)
+      // 设置默认用户
       const defaultUser = { id: 1, name: '测试用户' };
       localStorage.setItem('user', JSON.stringify(defaultUser));
       setUser(defaultUser);
@@ -29,11 +71,17 @@
     setUser(null);
   };
 
+  // ✅ 加载完用户数据后再渲染子组件,避免子组件访问 null
+  if (loading) {
+    return <div>正在加载用户信息...</div>;
+  }
+
   return (
-    <UserContext.Provider value={{ user, loading, saveUser, logout }}>
+    <UserContext.Provider value={{ user, saveUser, logout }}>
       {children}
     </UserContext.Provider>
   );
 };
 
+// 自定义 hook
 export const useUser = () => useContext(UserContext);