Проблема: QR -код сканер Modal с постоянным состоянием загрузкиIOS

Программируем под IOS
Ответить
Anonymous
 Проблема: QR -код сканер Modal с постоянным состоянием загрузки

Сообщение Anonymous »

Я внедряю нативное приложение React с помощью сканера QR -кода, который открывается во всплывающем окне модального. Рабочий процесс включает в себя: < /p>
Открытие QR -сканера в модальном
Чтение данных QR -кода
Создание вызова API для извлечения соответствующей информации
отображает результаты < /p>
Текущая проблема:
Время от времени, индикатор загрузки остается видимым неверным, даже после того, как ответ API. Это предполагает потенциальную проблему с управлением состоянием или состоянием загрузки, которое не является должным образом сброшенным. if (loading) return; // prevent double submit
setLoading(true);
Keyboard.dismiss();

// Fallback timeout: forcibly turn off loading after 15 seconds
const loadingTimeout = setTimeout(() => {
console.warn('handleSubmit loader force stopped after 15 seconds');
setLoading(false);
}, 15000);

const formData = new FormData();
formData.append(
"authcode",
"jXn2r5u8x/A?D(G+KaPdSgVkYp3s6v9y$B&E)H@McQeThWmZq4t7w!z%C*F-JaNd"
);
formData.append("signid", signIdQR || signId);

if (timeoutRef.current) {
clearTimeout(timeoutRef.current);
}

try {
console.log('handleSubmit started - loading ON');
const res: any = await dispatch(getSignDetailsAPIAction(formData));
if (res) {
setResult(res);
timeoutRef.current = setTimeout(() => {
clearDefault();
}, 10000);
} else {
clearDefault();
Alert.alert("Info", "No results found!");
}
} catch (err) {
console.error('Error fetching sign details:', err);
clearDefault();
Alert.alert("Info", "No results found!");
} finally {
clearTimeout(loadingTimeout);
setLoading(false);
console.log('handleSubmit finished - loading OFF');
}
};



Подробнее здесь: https://stackoverflow.com/questions/797 ... ding-state
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»