Anonymous
Unkendled softexception java.lang.runtimeexception: React Native Extance уже исчез: запрашивается сроком на APK React Na
Сообщение
Anonymous » 21 фев 2025, 07:01
У меня ошибка в моей сборке APK моего приложения React Native Expo, ошибка просто происходит на APK, я не могу ответить на сборку разработки. Ошибка происходит только через 15 минут после того, как я вызову действие, функцию, называемую CreateeVento на общем компонете для всех событий, и закрыть приложение, а затем попытаться снова запустить действие через 15 минут, а затем приложение получит эту странную ошибку, Стилки загружаются в цикле.
Код: Выделить всё
E Unhandled SoftException
java.lang.RuntimeException: React Native Instance has already disappeared: requested by Timing
at com.facebook.react.bridge.BaseJavaModule.getReactApplicationContextIfActiveOrWarn(BaseJavaModule.java:125)
at com.facebook.react.modules.core.TimingModule.access$000(TimingModule.java:22)
at com.facebook.react.modules.core.TimingModule$BridgeTimerExecutor.callTimers(TimingModule.java:28)
at com.facebook.react.modules.core.JavaTimerManager.createAndMaybeCallTimer(JavaTimerManager.java:345)
at com.facebook.react.modules.core.TimingModule.createTimer(TimingModule.java:84)
at java.lang.reflect.Method.invoke(Native Method)
at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372)
at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:146)
at com.facebook.jni.NativeRunnable.run(Native Method)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
at android.os.Looper.loop(Looper.java:246)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:233)
< /code>
Вторая ошибка < /p>
e Unketred softexception
com.facebook.react.bridge.reactnocrashsofteXcept Uimanager - uimanager исчез для тега: 797
at com.facebook.react.animated.nativeanimatednodesmanager.connectanimatednodetoview (nativeanimatednodesmanager.java:438)
at com.facebook.react.animated.nativeanimatedmodule $ 18.execute (nativeanmatedmodule.java at at at $ 18.execute (nativeanmatedmodule. com.facebook.react.animated.nativeanimatedmodule $ comprourentoperationqueue.executebatch (nativeanimatedmodule.java:171)
at com.facebook.react.animated.nativeanimatedmodule $ 3.execute (nativeanmatedmodule.java:365). com.facebook.react.uimanager.uiviewoperationqueue $ uiblockoperation.execute (uiviewoperation.java:557)
at com.facebook.react.uimanager.uiviewoperationqueue $ 1.run (uiviewoperation.java:910). com.facebook.react.uimanager.uiviewoperationqueue.flushpendingbatches (uiviewoperation quieue.java:1023)
at com.facebook.react.uimanager.uiviewoperationqueue .- $$ nest $ mflushpendingbatch (неизвестный источник: 0) at at at at at at $ mflushpendingbatches. com.facebook.react.uimanager.uiviewoperationqueue $ 2.runguarded (uiviewoperationqueue.java:979)
at com.facebook.react.bridge.guardedrunnable.run (GuardEdrunnable.java:29)
Android.os.handler.handlecallback (handler.java:938)
at android.os.handler.dispatchmessage (Handler.java:99)
at android.os.looper.loop (looper.java: 246)
at android.app.activityThread.main (ActivityThread.java:8653)
at java.lang.reflect.method.invoke (нативный метод)
at com.android.internal.os.runtimeinit $ methodandargscaller.run (runtimeinit.java:602)
at com.android. Internal.os.zygoteinit.main (zygoteinit.java:1130) < /p>
import React, { useEffect, useState } from 'react';
import { View, Text, TouchableOpacity, TextInput, Alert, AppState, AppStateStatus, AlertButton } from 'react-native';
import * as SecureStore from 'expo-secure-store';
import BackgroundCustomColor from '@/components/Jornada/BackgroundCustomColor';
import { MaterialCommunityIcons, Octicons } from '@expo/vector-icons';
import { ScrollView } from 'react-native-gesture-handler';
import { ConfirmationJourney } from '@/components/Jornada/ConfirmationJourneyBackground';
import { Timer } from '@/components/Jornada/Timer';
import EventoService from '@/services/api/eventosService';
import QRCodeReader from '@/components/QRCodeReader';
import { verificarLiberacaoQRCode } from '@/utils/verifyParametros';
import UsuarioService from '@/services/api/usuarioService';
import Loading from '@/components/Loading';
import AlertService from '@/services/api/alertService';
import { useNavigation } from '@react-navigation/native';
import { NavigationProp } from '@/types/navigation';
import { useEventosDatabase } from '@/database/useEventosDatabase';
import deactivateBackButton from '@/utils/deactivateBackButton';
import DropDownPicker from 'react-native-dropdown-picker';
import { LISTA_VEICULOS_KEY } from '@/constants/consts';
import { IVeiculo } from '@/types/Veiculo';
import { useAuth } from '@/services/auth/AuthContext';
interface EventProps {
title: string;
color: string;
startEvent: string;
endEvent: string;
icon: React.ReactNode;
confirmationIcon: React.ReactNode;
isRefeicao?: boolean;
isDirecao?: boolean;
isAbastecimento?: boolean;
}
export default function Event({ title, color, startEvent, endEvent, icon, confirmationIcon, isRefeicao, isDirecao, isAbastecimento }: EventProps) {
const navigation = useNavigation();
const { authState } = useAuth();
const { createEvento, checkIsUltimoEvento, sendDirecaoData, sendAbastecimentoData } = EventoService();
const { checkTempoMinRefeicao, checkTempoMaxRefeicao, checkDirecaoTempoMax, checkEncerramentoTurno, checkLimiteEncerramentoTurno } = AlertService();
const [time, setTime] = useState(0);
const [startTimer, setStartTimer] = useState(false);
const [confirmationBox, setConfirmationBox] = useState(false);
const { confirmarLeituraQRCode } = UsuarioService();
const [QRCodeScanned, setQRCodeScanned] = useState();
const [openScanner, setOpenScanner] = useState(false);
const [loading, setLoading] = useState(false);
const [instanteEvento, setInstanteEvento] = useState(null);
// State para Direcao
const [dataEvento, setDataEvento] = useState();
const [dataFimEvento, setDataFimEvento] = useState();
const [hodometroValue, setHodometroValue] = useState();
const [hodometroInicial, setHodometroInicial] = useState();
const [hodometroFinal, setHodometroFinal] = useState();
const [openFirstDropdown, setOpenFirstDropdown] = useState(false);
const [itemsFirstDropdown, setItemsFirstDropdown] = useState([
{ label: 'Carregando', value: 1 },
{ label: 'Vazio', value: 2 }
]);
const [valueFirstDropdown, setValueFirstDropdown] = useState(itemsFirstDropdown[0].value);
const [openSecondDropdown, setOpenSecondDropdown] = useState(false);
const [itemsSecondDropdown, setItemsSecondDropdown] = useState([]);
const [valueSecondDropdown, setValueSecondDropdown] = useState();
// States para Abastecimento
const [litrosValue, setLitrosValue] = useState(null);
const [valorPorLitroValue, setValorPorLitroValue] = useState(null);
const [valorTotalValue, setValorTotalValue] = useState(null);
const [openDropdown, setOpenDropdown] = useState(false);
const [itemsDropdown, setItemsDropdown] = useState([
{ label: 'Alcool', value: 'AL' },
{ label: 'Gasolina', value: 'GA' },
{ label: 'Diesel', value: 'DI' }
]);
const [valueDropdown, setValueDropdown] = useState(itemsDropdown[0].value);
useEffect(() => {
deactivateBackButton(startTimer);
checkIsUltimoEvento(startEvent).then((isLastEvento) => {
if (isLastEvento?.isUltimoEvento) {
setStartTimer(true);
setInstanteEvento(isLastEvento.instanteEvento);
}
});
SecureStore.getItemAsync(LISTA_VEICULOS_KEY).then((result) => {
const veiculosData = JSON.parse(result!);
setHodometroValue(veiculosData[0].ultimoHodometro.toString() + ".00");
if (veiculosData) {
setItemsSecondDropdown(veiculosData?.map((item: IVeiculo) => {
return { label: item.placa, value: item.placa, hodometro: item.ultimoHodometro?.toString() };
}));
setValueSecondDropdown(veiculosData[0]?.placa);
}
}).catch((error) => console.log("Erro ao buscar lista de veiculos", error));
}, [startTimer]);
const handleAppStateChange = (nextAppState: AppStateStatus) => {
if (nextAppState === 'active') {
console.log('App has come to the foreground!');
// Reinitialize or refresh any necessary data here
}
};
useEffect(() => {
const subscription = AppState.addEventListener('change', handleAppStateChange);
return () => {
subscription.remove();
};
}, []);
const handleConfirmJourney = async () => {
try {
if (!startTimer) {
setLoading(true);
setStartTimer(true);
const res = await createEvento(startEvent);
setDataEvento(res);
setInstanteEvento(res);
if (isDirecao) {
setHodometroInicial(hodometroValue);
await checkDirecaoTempoMax();
}
await checkTempoMaxRefeicao();
setLoading(false);
} else if (startTimer) {
setLoading(true);
const res = await createEvento(endEvent);
setStartTimer(false);
if (isDirecao) {
setDataFimEvento(res);
setHodometroFinal(hodometroValue);
}
// Enviar dados de direcao
if (isDirecao && valueFirstDropdown && dataEvento && (res || dataFimEvento) && hodometroValue && valueSecondDropdown) {
const data = {
tipo: valueFirstDropdown,
dataEvento: dataEvento,
dataFimEvento: dataFimEvento ?? res,
hodometroInicial: Number(hodometroInicial),
hodometroFinal: Number(hodometroFinal) ?? Number(hodometroValue),
placa: valueSecondDropdown,
idVeiculo: authState?.user?.listaDeVeiculos.find((item) => item.placa === valueSecondDropdown)?.id!
};
await sendDirecaoData(data);
}
// Enviar dados de abastecimento
if (isAbastecimento && litrosValue && valorPorLitroValue && valorTotalValue && valueDropdown) {
const data = {
quantidadeAbastecida: litrosValue,
valorDia: valorPorLitroValue,
totalAbastecido: valorTotalValue,
tipoCombustivel: valueDropdown
};
await sendAbastecimentoData(data);
}
checkEncerramentoTurno();
checkLimiteEncerramentoTurno();
setInstanteEvento(null);
setLoading(false);
deactivateBackButton();
navigation.navigate("Jornada");
}
} catch (error) {
console.log("Erro ao confirmar jornada", error);
setLoading(false);
}
setConfirmationBox(false);
};
const handleQRCodeConfirmation = async () => {
if (await verificarLiberacaoQRCode(title)) {
if (QRCodeScanned) {
confirmarLeituraQRCode(QRCodeScanned).then((result) => {
if (result?.data.codigoRetorno === 1) {
setQRCodeScanned(null);
setLoading(false);
handleConfirmJourney();
} else if (result?.data.codigoRetorno === -1) {
Alert.alert(result.data.mensagem + " tente novamente!", undefined, [
{
text: 'OK', onPress: () => {
setOpenScanner(true);
}
} as AlertButton,
]);
setLoading(false);
setQRCodeScanned(null);
return;
}
}).catch((error) => {
console.log("ERROR", error);
alert("Ocorreu um erro. Tente novamente!");
setQRCodeScanned(null);
setOpenScanner(true);
return;
});
} else {
setOpenScanner(true);
}
} else {
handleConfirmJourney();
}
};
if (openScanner) return (
);
return (
{!confirmationBox ? (
{title}
{isDirecao && (
()}
ArrowDownIconComponent={() => ()}
placeholder="Seleciono o tipo"
ListEmptyComponent={() => Nenhum item}
open={openFirstDropdown}
value={valueFirstDropdown}
items={itemsFirstDropdown}
setOpen={() => {
setOpenFirstDropdown(!openFirstDropdown);
setOpenSecondDropdown(false);
}}
setValue={setValueFirstDropdown}
setItems={setItemsFirstDropdown}
/>
{itemsSecondDropdown.length > 0 && (
Nenhum item}
ArrowUpIconComponent={() => ()}
ArrowDownIconComponent={() => ()}
placeholder="PLACA"
placeholderStyle={{ color: "white" }}
open={openSecondDropdown}
value={valueSecondDropdown ?? null}
items={itemsSecondDropdown}
setOpen={() => {
setOpenSecondDropdown(!openSecondDropdown);
setOpenFirstDropdown(false);
}}
// @ts-ignore
onSelectItem={(item) => setHodometroValue(item.hodometro + ".00")}
setValue={setValueSecondDropdown}
setItems={setItemsSecondDropdown}
/>
)}
setHodometroValue(value)}
className='min-w-[90%] p-1 border-b-[1px] border-b-[#745419] text-2xl text-white uppercase'
placeholderTextColor={"white"}
keyboardType='number-pad'
placeholder='Hodômetro' />
)}
{isAbastecimento && (
()}
ArrowDownIconComponent={() => ()}
placeholder=""
open={openDropdown}
value={valueDropdown}
items={itemsDropdown}
setOpen={() => {
setOpenDropdown(!openDropdown);
}}
setValue={setValueDropdown}
setItems={setItemsDropdown}
/>
setLitrosValue(Number(value))}
className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase'
placeholderTextColor={"white"}
keyboardType='numeric'
placeholder='Litros Combustível' />
setValorPorLitroValue(Number(value))}
className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase'
placeholderTextColor={"white"}
keyboardType='numeric'
placeholder='Valor por Litro' />
setValorTotalValue(Number(value))}
className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase'
placeholderTextColor={"white"}
keyboardType='numeric'
placeholder='Valor Total' />
)}
{icon}
{startTimer ? (
{
setConfirmationBox(true);
isRefeicao && checkTempoMinRefeicao();
}}>
ENCERRAR
{title}
) : (
setConfirmationBox(true)}>
INICIAR
{title}
)}
) : (
handleQRCodeConfirmation()} onCancel={() => setConfirmationBox(false)}>
Deseja {time > 0 ? "ENCERRAR" : "INICIAR"} {title}?
{confirmationIcon}
)}
{loading && }
);
}
Я сжигаю голову, чтобы решить эту очень странную ошибку, Холпе кто -то может помочь мне
Подробнее здесь:
https://stackoverflow.com/questions/794 ... nce-has-al
1740110518
Anonymous
У меня ошибка в моей сборке APK моего приложения React Native Expo, ошибка просто происходит на APK, я не могу ответить на сборку разработки. Ошибка происходит только через 15 минут после того, как я вызову действие, функцию, называемую CreateeVento на общем компонете для всех событий, и закрыть приложение, а затем попытаться снова запустить действие через 15 минут, а затем приложение получит эту странную ошибку, Стилки загружаются в цикле.[code] E Unhandled SoftException java.lang.RuntimeException: React Native Instance has already disappeared: requested by Timing at com.facebook.react.bridge.BaseJavaModule.getReactApplicationContextIfActiveOrWarn(BaseJavaModule.java:125) at com.facebook.react.modules.core.TimingModule.access$000(TimingModule.java:22) at com.facebook.react.modules.core.TimingModule$BridgeTimerExecutor.callTimers(TimingModule.java:28) at com.facebook.react.modules.core.JavaTimerManager.createAndMaybeCallTimer(JavaTimerManager.java:345) at com.facebook.react.modules.core.TimingModule.createTimer(TimingModule.java:84) at java.lang.reflect.Method.invoke(Native Method) at com.facebook.react.bridge.JavaMethodWrapper.invoke(JavaMethodWrapper.java:372) at com.facebook.react.bridge.JavaModuleWrapper.invoke(JavaModuleWrapper.java:146) at com.facebook.jni.NativeRunnable.run(Native Method) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27) at android.os.Looper.loop(Looper.java:246) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run(MessageQueueThreadImpl.java:233) < /code> Вторая ошибка < /p> e Unketred softexception com.facebook.react.bridge.reactnocrashsofteXcept Uimanager - uimanager исчез для тега: 797 at com.facebook.react.animated.nativeanimatednodesmanager.connectanimatednodetoview (nativeanimatednodesmanager.java:438) at com.facebook.react.animated.nativeanimatedmodule $ 18.execute (nativeanmatedmodule.java at at at $ 18.execute (nativeanmatedmodule. com.facebook.react.animated.nativeanimatedmodule $ comprourentoperationqueue.executebatch (nativeanimatedmodule.java:171) at com.facebook.react.animated.nativeanimatedmodule $ 3.execute (nativeanmatedmodule.java:365). com.facebook.react.uimanager.uiviewoperationqueue $ uiblockoperation.execute (uiviewoperation.java:557) at com.facebook.react.uimanager.uiviewoperationqueue $ 1.run (uiviewoperation.java:910). com.facebook.react.uimanager.uiviewoperationqueue.flushpendingbatches (uiviewoperation quieue.java:1023) at com.facebook.react.uimanager.uiviewoperationqueue .- $$ nest $ mflushpendingbatch (неизвестный источник: 0) at at at at at at $ mflushpendingbatches. com.facebook.react.uimanager.uiviewoperationqueue $ 2.runguarded (uiviewoperationqueue.java:979) at com.facebook.react.bridge.guardedrunnable.run (GuardEdrunnable.java:29) Android.os.handler.handlecallback (handler.java:938) at android.os.handler.dispatchmessage (Handler.java:99) at android.os.looper.loop (looper.java: 246) at android.app.activityThread.main (ActivityThread.java:8653) at java.lang.reflect.method.invoke (нативный метод) at com.android.internal.os.runtimeinit $ methodandargscaller.run (runtimeinit.java:602) at com.android. Internal.os.zygoteinit.main (zygoteinit.java:1130) < /p> import React, { useEffect, useState } from 'react'; import { View, Text, TouchableOpacity, TextInput, Alert, AppState, AppStateStatus, AlertButton } from 'react-native'; import * as SecureStore from 'expo-secure-store'; import BackgroundCustomColor from '@/components/Jornada/BackgroundCustomColor'; import { MaterialCommunityIcons, Octicons } from '@expo/vector-icons'; import { ScrollView } from 'react-native-gesture-handler'; import { ConfirmationJourney } from '@/components/Jornada/ConfirmationJourneyBackground'; import { Timer } from '@/components/Jornada/Timer'; import EventoService from '@/services/api/eventosService'; import QRCodeReader from '@/components/QRCodeReader'; import { verificarLiberacaoQRCode } from '@/utils/verifyParametros'; import UsuarioService from '@/services/api/usuarioService'; import Loading from '@/components/Loading'; import AlertService from '@/services/api/alertService'; import { useNavigation } from '@react-navigation/native'; import { NavigationProp } from '@/types/navigation'; import { useEventosDatabase } from '@/database/useEventosDatabase'; import deactivateBackButton from '@/utils/deactivateBackButton'; import DropDownPicker from 'react-native-dropdown-picker'; import { LISTA_VEICULOS_KEY } from '@/constants/consts'; import { IVeiculo } from '@/types/Veiculo'; import { useAuth } from '@/services/auth/AuthContext'; interface EventProps { title: string; color: string; startEvent: string; endEvent: string; icon: React.ReactNode; confirmationIcon: React.ReactNode; isRefeicao?: boolean; isDirecao?: boolean; isAbastecimento?: boolean; } export default function Event({ title, color, startEvent, endEvent, icon, confirmationIcon, isRefeicao, isDirecao, isAbastecimento }: EventProps) { const navigation = useNavigation(); const { authState } = useAuth(); const { createEvento, checkIsUltimoEvento, sendDirecaoData, sendAbastecimentoData } = EventoService(); const { checkTempoMinRefeicao, checkTempoMaxRefeicao, checkDirecaoTempoMax, checkEncerramentoTurno, checkLimiteEncerramentoTurno } = AlertService(); const [time, setTime] = useState(0); const [startTimer, setStartTimer] = useState(false); const [confirmationBox, setConfirmationBox] = useState(false); const { confirmarLeituraQRCode } = UsuarioService(); const [QRCodeScanned, setQRCodeScanned] = useState(); const [openScanner, setOpenScanner] = useState(false); const [loading, setLoading] = useState(false); const [instanteEvento, setInstanteEvento] = useState(null); // State para Direcao const [dataEvento, setDataEvento] = useState(); const [dataFimEvento, setDataFimEvento] = useState(); const [hodometroValue, setHodometroValue] = useState(); const [hodometroInicial, setHodometroInicial] = useState(); const [hodometroFinal, setHodometroFinal] = useState(); const [openFirstDropdown, setOpenFirstDropdown] = useState(false); const [itemsFirstDropdown, setItemsFirstDropdown] = useState([ { label: 'Carregando', value: 1 }, { label: 'Vazio', value: 2 } ]); const [valueFirstDropdown, setValueFirstDropdown] = useState(itemsFirstDropdown[0].value); const [openSecondDropdown, setOpenSecondDropdown] = useState(false); const [itemsSecondDropdown, setItemsSecondDropdown] = useState([]); const [valueSecondDropdown, setValueSecondDropdown] = useState(); // States para Abastecimento const [litrosValue, setLitrosValue] = useState(null); const [valorPorLitroValue, setValorPorLitroValue] = useState(null); const [valorTotalValue, setValorTotalValue] = useState(null); const [openDropdown, setOpenDropdown] = useState(false); const [itemsDropdown, setItemsDropdown] = useState([ { label: 'Alcool', value: 'AL' }, { label: 'Gasolina', value: 'GA' }, { label: 'Diesel', value: 'DI' } ]); const [valueDropdown, setValueDropdown] = useState(itemsDropdown[0].value); useEffect(() => { deactivateBackButton(startTimer); checkIsUltimoEvento(startEvent).then((isLastEvento) => { if (isLastEvento?.isUltimoEvento) { setStartTimer(true); setInstanteEvento(isLastEvento.instanteEvento); } }); SecureStore.getItemAsync(LISTA_VEICULOS_KEY).then((result) => { const veiculosData = JSON.parse(result!); setHodometroValue(veiculosData[0].ultimoHodometro.toString() + ".00"); if (veiculosData) { setItemsSecondDropdown(veiculosData?.map((item: IVeiculo) => { return { label: item.placa, value: item.placa, hodometro: item.ultimoHodometro?.toString() }; })); setValueSecondDropdown(veiculosData[0]?.placa); } }).catch((error) => console.log("Erro ao buscar lista de veiculos", error)); }, [startTimer]); const handleAppStateChange = (nextAppState: AppStateStatus) => { if (nextAppState === 'active') { console.log('App has come to the foreground!'); // Reinitialize or refresh any necessary data here } }; useEffect(() => { const subscription = AppState.addEventListener('change', handleAppStateChange); return () => { subscription.remove(); }; }, []); const handleConfirmJourney = async () => { try { if (!startTimer) { setLoading(true); setStartTimer(true); const res = await createEvento(startEvent); setDataEvento(res); setInstanteEvento(res); if (isDirecao) { setHodometroInicial(hodometroValue); await checkDirecaoTempoMax(); } await checkTempoMaxRefeicao(); setLoading(false); } else if (startTimer) { setLoading(true); const res = await createEvento(endEvent); setStartTimer(false); if (isDirecao) { setDataFimEvento(res); setHodometroFinal(hodometroValue); } // Enviar dados de direcao if (isDirecao && valueFirstDropdown && dataEvento && (res || dataFimEvento) && hodometroValue && valueSecondDropdown) { const data = { tipo: valueFirstDropdown, dataEvento: dataEvento, dataFimEvento: dataFimEvento ?? res, hodometroInicial: Number(hodometroInicial), hodometroFinal: Number(hodometroFinal) ?? Number(hodometroValue), placa: valueSecondDropdown, idVeiculo: authState?.user?.listaDeVeiculos.find((item) => item.placa === valueSecondDropdown)?.id! }; await sendDirecaoData(data); } // Enviar dados de abastecimento if (isAbastecimento && litrosValue && valorPorLitroValue && valorTotalValue && valueDropdown) { const data = { quantidadeAbastecida: litrosValue, valorDia: valorPorLitroValue, totalAbastecido: valorTotalValue, tipoCombustivel: valueDropdown }; await sendAbastecimentoData(data); } checkEncerramentoTurno(); checkLimiteEncerramentoTurno(); setInstanteEvento(null); setLoading(false); deactivateBackButton(); navigation.navigate("Jornada"); } } catch (error) { console.log("Erro ao confirmar jornada", error); setLoading(false); } setConfirmationBox(false); }; const handleQRCodeConfirmation = async () => { if (await verificarLiberacaoQRCode(title)) { if (QRCodeScanned) { confirmarLeituraQRCode(QRCodeScanned).then((result) => { if (result?.data.codigoRetorno === 1) { setQRCodeScanned(null); setLoading(false); handleConfirmJourney(); } else if (result?.data.codigoRetorno === -1) { Alert.alert(result.data.mensagem + " tente novamente!", undefined, [ { text: 'OK', onPress: () => { setOpenScanner(true); } } as AlertButton, ]); setLoading(false); setQRCodeScanned(null); return; } }).catch((error) => { console.log("ERROR", error); alert("Ocorreu um erro. Tente novamente!"); setQRCodeScanned(null); setOpenScanner(true); return; }); } else { setOpenScanner(true); } } else { handleConfirmJourney(); } }; if (openScanner) return ( ); return ( {!confirmationBox ? ( {title} {isDirecao && ( ()} ArrowDownIconComponent={() => ()} placeholder="Seleciono o tipo" ListEmptyComponent={() => Nenhum item} open={openFirstDropdown} value={valueFirstDropdown} items={itemsFirstDropdown} setOpen={() => { setOpenFirstDropdown(!openFirstDropdown); setOpenSecondDropdown(false); }} setValue={setValueFirstDropdown} setItems={setItemsFirstDropdown} /> {itemsSecondDropdown.length > 0 && ( Nenhum item} ArrowUpIconComponent={() => ()} ArrowDownIconComponent={() => ()} placeholder="PLACA" placeholderStyle={{ color: "white" }} open={openSecondDropdown} value={valueSecondDropdown ?? null} items={itemsSecondDropdown} setOpen={() => { setOpenSecondDropdown(!openSecondDropdown); setOpenFirstDropdown(false); }} // @ts-ignore onSelectItem={(item) => setHodometroValue(item.hodometro + ".00")} setValue={setValueSecondDropdown} setItems={setItemsSecondDropdown} /> )} setHodometroValue(value)} className='min-w-[90%] p-1 border-b-[1px] border-b-[#745419] text-2xl text-white uppercase' placeholderTextColor={"white"} keyboardType='number-pad' placeholder='Hodômetro' /> )} {isAbastecimento && ( ()} ArrowDownIconComponent={() => ()} placeholder="" open={openDropdown} value={valueDropdown} items={itemsDropdown} setOpen={() => { setOpenDropdown(!openDropdown); }} setValue={setValueDropdown} setItems={setItemsDropdown} /> setLitrosValue(Number(value))} className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase' placeholderTextColor={"white"} keyboardType='numeric' placeholder='Litros Combustível' /> setValorPorLitroValue(Number(value))} className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase' placeholderTextColor={"white"} keyboardType='numeric' placeholder='Valor por Litro' /> setValorTotalValue(Number(value))} className='min-w-[90%] p-1 border-b-[1px] border-b-[#431242] focus:border-b-[#008577] text-2xl text-white uppercase' placeholderTextColor={"white"} keyboardType='numeric' placeholder='Valor Total' /> )} {icon} {startTimer ? ( { setConfirmationBox(true); isRefeicao && checkTempoMinRefeicao(); }}> ENCERRAR {title} ) : ( setConfirmationBox(true)}> INICIAR {title} )} ) : ( handleQRCodeConfirmation()} onCancel={() => setConfirmationBox(false)}> Deseja {time > 0 ? "ENCERRAR" : "INICIAR"} {title}? {confirmationIcon} )} {loading && } ); } [/code] Я сжигаю голову, чтобы решить эту очень странную ошибку, Холпе кто -то может помочь мне Подробнее здесь: [url]https://stackoverflow.com/questions/79456332/unhandled-softexception-java-lang-runtimeexception-react-native-instance-has-al[/url]