Skip to content

Instantly share code, notes, and snippets.

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

Hamid Reza Nikoonia HamidReazaNikoonia

🏠
Working from home
View GitHub Profile
@HamidReazaNikoonia
HamidReazaNikoonia / retryDynamicImport.ts
Created October 14, 2024 00:48 — 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