File tree Expand file tree Collapse file tree 1 file changed +15
-17
lines changed Expand file tree Collapse file tree 1 file changed +15
-17
lines changed Original file line number Diff line number Diff line change @@ -9,22 +9,20 @@ export default function ProviderStack({
9
9
providers,
10
10
children,
11
11
} : ProviderStackProps ) {
12
- const Providers = useMemo (
13
- ( ) =>
14
- providers . reduceRight (
15
- ( Acc , Provider ) =>
16
- Object . assign (
17
- ( ) => (
18
- < Provider >
19
- < Acc />
20
- </ Provider >
21
- ) ,
22
- { displayName : Provider . displayName } ,
23
- ) ,
24
- ( ) => < > { children } </ > ,
25
- ) ,
26
- [ children , providers ] ,
27
- ) ;
12
+ const { Provider, remainingProviders, isFinal } = useMemo ( ( ) => {
13
+ const [ Provider , ...remainingProviders ] = providers ;
14
+ return {
15
+ Provider,
16
+ remainingProviders,
17
+ isFinal : providers . length === 0 ,
18
+ } ;
19
+ } , [ providers ] ) ;
28
20
29
- return < Providers /> ;
21
+ return isFinal ? (
22
+ < > { children } </ >
23
+ ) : (
24
+ < Provider >
25
+ < ProviderStack providers = { remainingProviders } > { children } </ ProviderStack >
26
+ </ Provider >
27
+ ) ;
30
28
}
You can’t perform that action at this time.
0 commit comments