React native 当react本机应用程序转到后台时,有没有办法暂停传奇故事?

React native 当react本机应用程序转到后台时,有没有办法暂停传奇故事?,react-native,redux,redux-saga,React Native,Redux,Redux Saga,目前,我们检查应用程序是否处于活动状态: function* cycleChatBadge() { let task; while (true) { const state = yield select(), isAppActive = isAppActiveSelector(state); if (!isAppActive) { yield call(delay, 8000)

目前,我们检查应用程序是否处于活动状态:

function* cycleChatBadge() {

    let task;

    while (true) {
        const state = yield select(),
        isAppActive = isAppActiveSelector(state);

        if (!isAppActive) {
            yield call(delay, 8000)
            yield put({type: "CHAT_BADGE"});
            return;
        }

        const { input } = yield take('CHAT_BADGE');

        if (task) {
            yield cancel(task)
        }

        task = yield fork(getChatBadge)
    }
}
然而,我们想知道这种方法在电源方面有多优化,以及每5秒检查一次存储是否会耗尽电池电量。因此,我们考虑在应用程序进入后台时暂停根传奇。有可能吗?

使用document.hidden可以检查应用程序是否在后台,并收听事件visibilitychange以响应更改

使用它,您可以暂停和恢复您的手表


无论如何,如果您能够在值更改时接收到事件,而不是轮询,则效率会更高。

对不起,我应该在标题中指定使用React Native。我现在修好了。