From f439ba76f38dbd197facdaeff74042338e745e1b Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Tue, 25 Nov 2025 13:34:23 +0300 Subject: [PATCH] fix: Remove premature smsForm.resetFields() call to fix React warning Fixed warning: 'Instance created by useForm is not connected to any Form element' - Removed resetFields() call before form is rendered - Form is only rendered when smsCodeSent === true - Added preserve={false} to Form to ensure clean state - Updated handleCancelSMS to only reset if form was rendered Files: - frontend/src/components/form/StepClaimConfirmation.tsx --- .../src/components/form/StepClaimConfirmation.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/form/StepClaimConfirmation.tsx b/frontend/src/components/form/StepClaimConfirmation.tsx index 2d1fdba..e98e296 100644 --- a/frontend/src/components/form/StepClaimConfirmation.tsx +++ b/frontend/src/components/form/StepClaimConfirmation.tsx @@ -239,7 +239,8 @@ export default function StepClaimConfirmation({ // Показываем модалку SMS-апрува setSmsModalVisible(true); setSmsCodeSent(false); - smsForm.resetFields(); + // Не вызываем resetFields() здесь, т.к. форма еще не отрендерена + // Форма будет сброшена при первом рендере // Автоматически отправляем SMS-код sendSMSCode(phone); @@ -323,9 +324,12 @@ export default function StepClaimConfirmation({ setSmsModalVisible(false); setSmsCodeSent(false); setPendingFormData(null); - smsForm.resetFields(); + // Сбрасываем форму только если она была отрендерена (smsCodeSent был true) + if (smsCodeSent) { + smsForm.resetFields(); + } message.info('Подтверждение отменено'); - }, [smsForm]); + }, [smsForm, smsCodeSent]); // Вычисляем телефон для отображения (до условного рендера) const phone = @@ -412,6 +416,7 @@ export default function StepClaimConfirmation({ form={smsForm} layout="vertical" onFinish={handleVerifyCode} + preserve={false} >