Я нашел решение для этого. Вместо динамического рендеринга компонента вместо передачи значения show компоненту и установки его в атрибут hidden
HTML.
Поэтому вместо того, чтобы делать это:
//ParentComponent
return (
{displayInput && <CustomInput />}
)
Я сделал это, и он сохраняет значения.
//ParentComponent
return <CustomInput hidden={!displayInput} />
//CustomInput
return (
<section hidden={hidden}>
//content
</section>
)
У меня есть опасение, что по мере роста формы, это не будет масштабируемым подходом. В идеале я бы условно отобразил эти компоненты, а не сделал бы их условно hidden
.