withSuspense.tsx 395 B

123456789101112131415
  1. import type { ComponentType, ReactElement } from 'react';
  2. import { Suspense } from 'react';
  3. export function withSuspense<T extends Record<string, unknown>>(
  4. Component: ComponentType<T>,
  5. SuspenseComponent: ReactElement,
  6. ) {
  7. return function WithSuspense(props: T) {
  8. return (
  9. <Suspense fallback={SuspenseComponent}>
  10. <Component {...props} />
  11. </Suspense>
  12. );
  13. };
  14. }