Пишу приложение на
react-native
, для работы с камерой использую
react-native-vision-camera
. Появилась необходимость завершать запись видео, когда пользователь выходит из приложения. Сделал это с помощью
useEffect
, который смотрит на кастомный хук
useIsAppForeground
(их их документации), но мне выдает ошибку, о том что запись прервана. Как я это понимаю, что остановка и ошибка происходят раньше, чем я заканчиваю запись, как это решить?
Вот хук
useIsAppForeground
:
код
import { useState, useEffect } from "react";
import { AppState } from "react-native";
export const useIsAppForeground = () => {
const [isForeground, setIsForeground] = useState(true);
useEffect(() => {
const onChange = (state) => {
setIsForeground(state === "active");
};
const listener = AppState.addEventListener("change", onChange);
return () => listener.remove();
}, [setIsForeground]);
return isForeground;
};