react-native-unistyles
Version:
Level up your React Native StyleSheet
29 lines (23 loc) • 572 B
text/typescript
import React from 'react'
export const passForwardedRef = <T>(
ref: T,
forwardedRef: React.ForwardedRef<T>,
onMount?: () => void,
onUnmount?: () => void
) => {
const passForwardedRef = () => {
if (typeof forwardedRef === 'function') {
return forwardedRef(ref)
}
if (forwardedRef) {
forwardedRef.current = ref
}
return () => {}
}
const forwardedRefReturnFn = passForwardedRef()
onMount?.()
return () => {
forwardedRefReturnFn?.()
onUnmount?.()
}
}