--- title: Preload Based on User Intent impact: MEDIUM impactDescription: reduces perceived latency tags: bundle, preload, user-intent, hover --- ## Preload Based on User Intent Preload heavy bundles before they're needed to reduce perceived latency. **Example (preload on hover/focus):** ```tsx function EditorButton({ onClick }: { onClick: () => void }) { const preload = () => { if (typeof window !== "undefined") { void import("./monaco-editor"); } }; return ( ); } ``` **Example (preload when feature flag is enabled):** ```tsx function FlagsProvider({ children, flags }: Props) { useEffect(() => { if (flags.editorEnabled && typeof window !== "undefined") { void import("./monaco-editor").then((mod) => mod.init()); } }, [flags.editorEnabled]); return {children}; } ``` The `typeof window !== 'undefined'` check prevents bundling preloaded modules for SSR, optimizing server bundle size and build speed.