Но, как я уже сказал, если есть «стандартный» способ сделать это в Mobile Dev, я бы хотел знать, что это такое.
Код: Выделить всё
const useMessageSender = (): MessageSenderMethods => {
const store = useMessageQueueStore();
const [ processingQueue, setProcessingQueue ] = useState(false);
const processingQueueRef = useRef(processingQueue);
// Update the ref whenever processingQueue changes
useEffect(() => {
processingQueueRef.current = processingQueue;
}, [processingQueue]);
// ...
const sendBulkSms = useCallback(async (messages: Message[]): Promise => {
if (!await canSms()) return;
try {
const { result } = await SMS.sendSMSAsync(
recipients.numbers,
messages[0].text
); // this successfully opens the messenger app
console.log('got result', result) // this never executes
// ...
} catch (error) {
// nothing here ever executes, either
}
}, [canSms, store]);
}
< /code>
Теперь, который называется изнутри компонента очереди, а состояние элементов в очереди должно быть обновлена на странице, когда сообщения в очереди, отправленные, неудачные, ограниченные скоростью и т. Д. .... что на самом деле происходит, когда я возвращаюсь к приложению, что страница кратко отображает, что сообщения о том, что это было сразу же, что он снова стал для того, чтобы это было еще раз, и тогда. Единственное объяснение, которое я имею для этого (в сочетании с отсутствием разрешения обещания), заключается в том, что основная страница/компонент, в которой это обрабатывается,-это повторно, когда приложение возвращается к активному, вместо того, чтобы продолжить, где оно осталось. /> Было бы идеально, если бы приложение просто продолжало работать, если оно было «открытым», даже если оно не было «активным» приложением, но это не нарушатель сделки; И хотя я, вероятно, мог бы заставить его работать, если бы это было единственное или лучшее решение, на самом деле это не похоже на идеальное применение реагируемого нанесенного навеса Подробнее здесь: https://stackoverflow.com/questions/796 ... -on-active