mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-02 13:49:00 +02:00
09ca49a860
[web] BS5 project tools GitOrigin-RevId: 3181c62985b6db4051292b484f53178a0736fa75
22 lines
565 B
TypeScript
22 lines
565 B
TypeScript
import { forwardRef } from 'react'
|
|
|
|
export const fixedForwardRef = <
|
|
T,
|
|
P = object,
|
|
A extends Record<string, React.FunctionComponent> = Record<
|
|
string,
|
|
React.FunctionComponent
|
|
>,
|
|
>(
|
|
render: (props: P, ref: React.Ref<T>) => React.ReactElement | null,
|
|
propsToAttach: A = {} as A
|
|
): ((props: P & React.RefAttributes<T>) => React.ReactElement | null) & A => {
|
|
const ForwardReferredComponent = forwardRef(render) as any
|
|
|
|
for (const i in propsToAttach) {
|
|
ForwardReferredComponent[i] = propsToAttach[i]
|
|
}
|
|
|
|
return ForwardReferredComponent
|
|
}
|