У меня есть форма реакции, которая динамически генерируется с помощью данных из БД. Проблема, которую я сейчас пытаюсь решить, заключается в том, как включить / отключить «дочерние» входы на основе «родительского» ввода (обычно это флажок). Мой план был во время рендеринга формы, я хотел бы создать настройки состояния компонента (parentClicked1, parentClicked2 и т. Д.), Основанные на initialValues, которые заполняются избыточной формой. Имя параметра состояния компонента будет соответствовать имени родительского ввода и будет передано методу onClick. например:
const renderSettings = ({ fields, meta: { touched, error, submitFailed } }) => (
<div>
{fields.map((setting, index) => (
<Field
name={`${setting}.value`}
type={fields.get(index).inputType}
component={renderField}
label={fields.get(index).labelText}
format={(value, name) => {
return setBoolValue(value)
}}
onClick={fields.get(index).isParent ? this.onClick(fields.get(index).settingName) : null}
disabled={fields.get(index).isChild ? this.state[fields.get(index).parentSettingName] : null}
/>
))}
</div>
);
У onClick будет что-то простое:
onClick(e, stateKey){
this.setState({[stateKey]: e.target.value});
}
Проблема заключается в установке начального значения состояния компонента на основе initialValue, заполненного приставной формой. Я попытался установить в ComponentDidMount и ComponentDidUpdate, но ни один, кажется, не заполняется. Как бы я поступил так?