Делаю библиотеку для работы с формой, у
FormItem в моей либе есть поле
getValueFromEvent. Это сделано например для кейса:
<FormItem
name="myField"
getValueFromEvent={e => Number(e.target.value})
normalize={value => String(value)}
>
<input />
</FormItem>
Могу ли я достать тип
onChange из ?
Пробовал вот так -
type ReturnElementProps<T> = T extends React.ReactElement<infer P> ? P : never
type FormItemProps<C extends React.ReactElement, P extends ReturnElementProps<C>> = { getValueFromEvent: (...args: Parameters<P['onChange']>) => void, children: C }
const FormItem = <C extends React.ReactElement, P extends ReturnElementProps<C>>(props: FormItemProps<C, P>) => {
return <div>{props.children}</div>
}
const Test = <FormItem getValueFromEvent={(event) => event}>
<input />
</FormItem>
но event - unknown.
можно как-то вытащить пропсы из
children, который
ReactElement? Или только заставлять использовать function в качестве children?