File tree Expand file tree Collapse file tree 2 files changed +10
-7
lines changed Expand file tree Collapse file tree 2 files changed +10
-7
lines changed Original file line number Diff line number Diff line change @@ -22,6 +22,7 @@ type Props<T extends ComponentType<any>> = {
22
22
loadingColor ?: string ;
23
23
placeholder ?: ReactElement ;
24
24
onReady ?: ( ) => void ;
25
+ timeout ?: number ;
25
26
} ;
26
27
27
28
export default function LazyComponent < T extends ComponentType < any > > ( {
@@ -31,6 +32,7 @@ export default function LazyComponent<T extends ComponentType<any>>({
31
32
loadingColor,
32
33
placeholder,
33
34
onReady,
35
+ timeout = 100 ,
34
36
...props
35
37
} : Props < T > & ComponentProps < T > ) {
36
38
const [ ready , setReady ] = useState ( false ) ;
@@ -45,11 +47,13 @@ export default function LazyComponent<T extends ComponentType<any>>({
45
47
if ( ! ref . current ) {
46
48
ref . current = await savedLoad . current ( ) ;
47
49
}
48
- setReady ( true ) ;
49
- if ( onReady ) {
50
- onReady ( ) ;
51
- }
52
- } , [ onReady ] ) ;
50
+ setTimeout ( ( ) => {
51
+ setReady ( true ) ;
52
+ if ( onReady ) {
53
+ onReady ( ) ;
54
+ }
55
+ } , timeout ) ;
56
+ } , [ onReady , timeout ] ) ;
53
57
54
58
useEffect ( ( ) => {
55
59
if ( visible ) {
@@ -83,8 +87,8 @@ export default function LazyComponent<T extends ComponentType<any>>({
83
87
84
88
const styles = StyleSheet . create ( {
85
89
loadingContainer : {
90
+ ...StyleSheet . absoluteFillObject ,
86
91
alignItems : 'center' ,
87
92
justifyContent : 'center' ,
88
- height : 100 ,
89
93
} ,
90
94
} ) ;
Original file line number Diff line number Diff line change 7
7
"allowUnreachableCode" : false ,
8
8
"allowUnusedLabels" : false ,
9
9
"esModuleInterop" : true ,
10
- "importsNotUsedAsValues" : " error" ,
11
10
"forceConsistentCasingInFileNames" : true ,
12
11
"jsx" : " react" ,
13
12
"lib" : [" esnext" ],
You can’t perform that action at this time.
0 commit comments