Spaces:
Sleeping
Sleeping
File size: 637 Bytes
56fda74 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import * as React from 'react'
import isBrowser from '#is-browser'
const syncFallback = <T>(create: () => T) => create()
const useInsertionEffect = React[
('useInsertion' + 'Effect') as 'useInsertionEffect'
]
? (React[('useInsertion' + 'Effect') as 'useInsertionEffect'] as <T>(
create: () => T
) => T | undefined)
: false
export const useInsertionEffectAlwaysWithSyncFallback: <T>(
create: () => T
) => T | undefined = !isBrowser
? syncFallback
: useInsertionEffect || syncFallback
export const useInsertionEffectWithLayoutFallback: typeof React.useLayoutEffect =
useInsertionEffect || React.useLayoutEffect
|