mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-02-03 03:10:50 +08:00
25 lines
620 B
TypeScript
25 lines
620 B
TypeScript
import { useEffect } from 'react';
|
|
|
|
export type HeaderRefreshHandler = () => void | Promise<void>;
|
|
|
|
let activeHeaderRefreshHandler: HeaderRefreshHandler | null = null;
|
|
|
|
export const triggerHeaderRefresh = async () => {
|
|
if (!activeHeaderRefreshHandler) return;
|
|
await activeHeaderRefreshHandler();
|
|
};
|
|
|
|
export const useHeaderRefresh = (handler?: HeaderRefreshHandler | null) => {
|
|
useEffect(() => {
|
|
if (!handler) return;
|
|
|
|
activeHeaderRefreshHandler = handler;
|
|
|
|
return () => {
|
|
if (activeHeaderRefreshHandler === handler) {
|
|
activeHeaderRefreshHandler = null;
|
|
}
|
|
};
|
|
}, [handler]);
|
|
};
|