Files
coco-app/src/hooks/useScript.ts
ayangweb 5046754534 refactor: optimized loading of font icons on the web side (#596)
* refactor: optimized loading of font icons on the web side

* refactor: update
2025-06-03 11:22:22 +08:00

35 lines
793 B
TypeScript

import { useEffect } from "react";
const useScript = (src: string, onError?: () => void) => {
useEffect(() => {
if (document.querySelector(`script[src="${src}"]`)) {
return;
}
const script = document.createElement("script");
script.src = src;
script.async = true;
script.onerror = () => {
console.error(`Failed to load script: ${src}`);
onError?.();
};
document.body.appendChild(script);
return () => {
document.body.removeChild(script);
};
}, [src, onError]);
};
export default useScript;
export const useIconfontScript = () => {
// Coco Server Icons
useScript("https://at.alicdn.com/t/c/font_4878526_cykw3et0ezd.js");
// Coco App Icons
useScript("https://at.alicdn.com/t/c/font_4934333_j1t3b1xyxkk.js");
};