diff --git a/src/components/selfStatus/selfStatus.tsx b/src/components/selfStatus/selfStatus.tsx
index 61d3f4e..c7ea79d 100644
--- a/src/components/selfStatus/selfStatus.tsx
+++ b/src/components/selfStatus/selfStatus.tsx
@@ -1,4 +1,4 @@
-import React, { useEffect } from "react";
+import React, { useEffect, useRef } from "react";
 import { useAppSelector } from "../../hooks/store";
 import style from "./style.module.css"
 import { useApi } from "@/hooks/request";
@@ -24,17 +24,13 @@
     const avatar = useAppSelector(state => state.user.avatar);
     const dispatch = useAppDispatch();
     const { data, refresh } = useApi(() => request.get(getUserInfo), false);
+    const dataRef = useRef(data);
     useEffect(() => {
-        if (avatar.length === 0) {
-            refresh(); // 触发 API 请求
-        }
-    }, [avatar, refresh]);
-
-    useEffect(() => {
+        refresh();
         if (data) {
             dispatch({ type: "user/getUserInfo", payload: data });
         }
-    }, [data, dispatch]);
+    }, [dataRef, dispatch]);
 
     function handleAvatarClick(){
         nav('/homepage')
