refactor: allow pass props to Loadable

pull/81/head
moonrailgun 4 years ago
parent 8e58f88b21
commit b2c46e5604

@ -2,6 +2,7 @@ import React from 'react';
import loadable, { import loadable, {
DefaultComponent, DefaultComponent,
LoadableComponent, LoadableComponent,
OptionsWithoutResolver,
} from '@loadable/component'; } from '@loadable/component';
import pMinDelay from 'p-min-delay'; import pMinDelay from 'p-min-delay';
import { LoadingSpinner } from './LoadingSpinner'; import { LoadingSpinner } from './LoadingSpinner';
@ -11,9 +12,11 @@ import { LoadingSpinner } from './LoadingSpinner';
* @param loader * @param loader
*/ */
export function Loadable<Props>( export function Loadable<Props>(
loadFn: (props: Props) => Promise<DefaultComponent<Props>> loadFn: (props: Props) => Promise<DefaultComponent<Props>>,
options?: OptionsWithoutResolver<Props>
): LoadableComponent<Props> { ): LoadableComponent<Props> {
return loadable((props) => pMinDelay(loadFn(props), 200), { return loadable((props) => pMinDelay(loadFn(props), 200), {
fallback: <LoadingSpinner />, fallback: <LoadingSpinner />,
...options,
}); });
} }

Loading…
Cancel
Save