import React, { ComponentType, FunctionComponent, Suspense, SuspenseProps } from 'react' export function withSuspense

( WrappedComponent: ComponentType

, fallback: SuspenseProps['fallback'] = null, ): FunctionComponent

{ function ComponentWithSuspense(props: P) { return ( ) } return ComponentWithSuspense } export function withSuspenseMemo

( WrappedComponent: ComponentType

, fallback: SuspenseProps['fallback'] = null, propsAreEqual?: Parameters['1'], ) { function ComponentWithSuspense(props: P) { return ( ) } return React.memo(ComponentWithSuspense, propsAreEqual) }