Перейти к основному содержимому

Решение проблем

Распространенные проблемы и их решения при использовании Form Guardian.

🔍 Частые проблемы

Черновик не сохраняется

Симптомы: Изменения формы не сохраняются автоматически.

Возможные причины и решения:

  1. IndexedDB недоступен

    if (!window.indexedDB) {
    console.error('IndexedDB не поддерживается в этом браузере');
    }
  2. Форма неправильно подключена

    useEffect(() => {
    if (formRef.current) {
    attachFormAutosave({ ... });
    }
    }, []);
  3. Слишком большая задержка debounce

    useFormAutosave('my-form', {
    debounceMs: 100, // Меньшее значение для быстрого сохранения
    });

Черновик не восстанавливается

Решения:

  1. Проверьте опцию autoRestore

    useFormAutosave('my-form', {
    autoRestore: true, // ✅ Должно быть true
    });
  2. Для контролируемых форм

    const { restoreValues } = useFormAutosave('my-form', {
    autoRestore: false,
    });

    useEffect(() => {
    restoreValues(setValue, getValues);
    }, []);

Проблемы с производительностью

Решения:

  1. Увеличьте debounce

    useFormAutosave('my-form', {
    debounceMs: 1000,
    });
  2. Используйте пакетное сохранение

    useFormAutosave('my-form', {
    batchSaveInterval: 5000,
    });

🐛 Советы по отладке

Включите логирование в консоль

useFormAutosave('my-form', {
onBeforeSave: (values) => {
console.log('💾 Сохранение черновика:', values);
},
onAfterSave: () => {
console.log('✅ Черновик сохранен');
},
});

Проверьте IndexedDB вручную

  1. Откройте DevTools (F12)
  2. Перейдите на вкладку Application
  3. Разверните IndexedDBform-guardian-db
  4. Проверьте хранилище drafts

💬 Всё ещё есть проблемы?

  1. Посмотрите GitHub Issues
  2. Откройте новую проблему

Включите в отчет:

  • Версию Form Guardian
  • Фреймворк и версию
  • Браузер и версию
  • Фрагмент кода
  • Ошибки консоли