Skip to content

Instantly share code, notes, and snippets.

View biomousavi's full-sized avatar
🏠
Working from home

Nick Mousavi biomousavi

🏠
Working from home
View GitHub Profile
@biomousavi
biomousavi / retryDynamicImport.ts
Last active October 13, 2024 14:57 — forked from mberneti/retryDynamicImport.ts
This utility function retryDynamicImport enhances React’s lazy loading mechanism by adding retry logic with a versioned query parameter. It retries importing a component multiple times in case of failure, which can be useful for bypassing browser cache or dealing with intermittent network issues. It can be used as a drop-in replacement for React…
// Usage:
// Replace React.lazy(() => import('x'));
// with retryDynamicImport(() => import('x'));
import { ComponentType, lazy } from 'react';
const MAX_RETRY_COUNT = 15;
const RETRY_DELAY_MS = 500;
// Regex to extract the module URL from the import statement