Я работаю с реагировать и использую Ant Design v4.1.0, у меня есть форма и при отправке (onFini sh), я отправляю идентификатор редуктору, чтобы получить все значения полей. Я делаю это из-за моего требования (я должен выбрать идентификатор в самой форме и получить все данные много раз, а также открыть одну и ту же форму из многих мест с указанным c идентификатор). Могли бы быть и более эффективные способы выполнить мое требование, но сейчас я делаю это.
Я получаю нужные данные - реквизиты (я подтвердил), но я не могу обновить поля новыми реквизитами.
Я установил
`class CustomForm extends React.Component {
formRef = React.createRef();
constructor()
render(){
return(
<Form
ref={this.formRef}
onFinish={this.onFinish}
name="customForm"
initialValues=
{{
//(trying) email: this.props.customerData.map((d) => d.email)
}}
>
<Form.Item label="Email" name="email">
<Input />
</Form.Item>
</Form>
)}
}`
Я прочитал ant design document и упоминается, что начальные значения не работают при изменении состояния, и мы должны использовать setFieldsValue.
При попытке я добавил «formRef» для формы на основе классов в соответствии с их примером, но не смог использовать setFieldValue. Я попытался с
`componentDidUpdate(){
alert(JSON.stringify(this.props.customerData.map((d) => d.email)));
this.formRef.current.setFieldsValue({
mobileNumber: this.props.customerData
.map((d) => d.mobile_number),
email: this.props.customerData.map((d) => d.email),
});
}`
и получил ошибку «Не удается прочитать свойство 'setFieldsValue' со значением NULL"
Как я могу установить значения, фактически используя setFieldValues? И почему this.formRef имеет значение null?