import React, { HTMLProps, Ref, useEffect } from 'react'; import { Override, filterDOMProps, useField } from 'uniforms'; export type HiddenFieldProps = Override< HTMLProps, { inputRef?: Ref; name: string; noDOM?: boolean; value?: unknown; } >; export default function HiddenField({ value, ...rawProps }: HiddenFieldProps) { const props = useField(rawProps.name, rawProps, { initialValue: false })[0]; useEffect(() => { if (value !== undefined && value !== props.value) { props.onChange(value); } }); return props.noDOM ? null : ( ); }