fix: 登录/登出时清除 React Query 缓存,修复切换用户页面不刷新

This commit is contained in:
selfrelease
2026-07-29 11:56:24 +08:00
parent b2248b9afc
commit b1d2d5715d
2 changed files with 10 additions and 5 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ import ErrorBoundary from './components/ErrorBoundary'
import { ConfirmProvider } from './hooks/useConfirm'
import './index.css'
const queryClient = new QueryClient({
export const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 1000 * 60 * 5,
+9 -4
View File
@@ -1,5 +1,6 @@
import { create } from 'zustand'
import { persist } from 'zustand/middleware'
import { queryClient } from '../main'
interface User {
id: string
@@ -26,11 +27,15 @@ export const useAuthStore = create<AuthState>()(
accessToken: null,
refreshToken: null,
isAuthenticated: false,
setAuth: (user, accessToken, refreshToken) =>
set({ user, accessToken, refreshToken, isAuthenticated: true }),
setAuth: (user, accessToken, refreshToken) => {
queryClient.clear()
set({ user, accessToken, refreshToken, isAuthenticated: true })
},
updateToken: (accessToken) => set({ accessToken }),
logout: () =>
set({ user: null, accessToken: null, refreshToken: null, isAuthenticated: false }),
logout: () => {
queryClient.clear()
set({ user: null, accessToken: null, refreshToken: null, isAuthenticated: false })
},
}),
{ name: 'auth-storage' },
),