Решение проблем
Распространенные проблемы и их решения при использовании Form Guardian.
🔍 Частые проблемы
Черновик не сохраняется
Симптомы: Изменения формы не сохраняются автоматически.
Возможные причины и решения:
-
IndexedDB недоступен
if (!window.indexedDB) {
console.error('IndexedDB не поддерживается в этом браузере');
} -
Форма неправильно подключена
useEffect(() => {
if (formRef.current) {
attachFormAutosave({ ... });
}
}, []); -
Слишком большая задержка debounce
useFormAutosave('my-form', {
debounceMs: 100, // Меньшее значение для быстрого сохранения
});
Черновик не восстанавливается
Реш ения:
-
Проверьте опцию
autoRestoreuseFormAutosave('my-form', {
autoRestore: true, // ✅ Должно быть true
}); -
Для контролируемых форм
const { restoreValues } = useFormAutosave('my-form', {
autoRestore: false,
});
useEffect(() => {
restoreValues(setValue, getValues);
}, []);
Проблемы с производительностью
Решения:
-
Увеличьте debounce
useFormAutosave('my-form', {
debounceMs: 1000,
}); -
Используйте пакетное сохранение
useFormAutosave('my-form', {
batchSaveInterval: 5000,
});
🐛 Советы по отладке
Включите логирование в консоль
useFormAutosave('my-form', {
onBeforeSave: (values) => {
console.log('💾 Сохранение черновика:', values);
},
onAfterSave: () => {
console.log('✅ Черновик сохранен');
},
});
Проверьте IndexedDB вручную
- Откройте DevTools (F12)
- Перейдите на вкладку Application
- Разверните IndexedDB → form-guardian-db
- Проверьте хранилище drafts
💬 Всё ещё есть проблемы?
- Посмотрите GitHub Issues
- Откройте новую проблему
Включите в отчет:
- Версию Form Guardian
- Фреймворк и версию
- Браузер и версию
- Фрагмент кода
- Ошибки консоли