首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >React-Native:如何在应用程序关闭前保存数据

React-Native:如何在应用程序关闭前保存数据
EN

Stack Overflow用户
提问于 2019-07-09 23:14:40
回答 3查看 4.1K关注 0票数 3

我正在写一个react原生应用程序,它需要在关闭或后台之前存储一个字符串。当应用程序启动时,它需要再次检索字符串。(我正在利用expo进行开发)

我试图将数据存储在componentWillUnmount()中,但是当我关闭应用程序时,该函数并未被调用。

这是存储数据的函数。

代码语言:javascript
复制
_storeData = async () => {
try {
  await AsyncStorage.setItem('data', 'savedData2');
  console.log("done storing");
} catch (error) {
  console.log(error)
}};

我调用storeData(),如下所示:

代码语言:javascript
复制
componentWillUnmount() {
 console.log("unmount")
 this._storeData();
}

首先,我认为它不存储数据,因为我正在调用componentWillUnmount()中的一个异步函数,该函数可能会在完成之前被取消,但是我也没有收到unmount日志。

EN

回答 3

Stack Overflow用户

发布于 2019-07-09 23:17:54

没有办法在react-native中检测应用程序何时关闭。

您可以使用AppState检测应用程序何时进入后台,请尝试在文档中检查它:https://facebook.github.io/react-native/docs/appstate

票数 2
EN

Stack Overflow用户

发布于 2021-07-19 21:46:24

我有一些适合我的代码。基本上,它检查应用程序的状态是主动还是被动。被动触发,即使您关闭应用程序与后退按钮。在我的示例中,我正在跟踪用户在我的应用程序中是否处于活动状态。

代码语言:javascript
复制
import React, { useEffect, useRef } from 'react';
import { AppState } from 'react-native';

export default function App(){
    const appState = useRef(AppState.currentState);

    useEffect(()=>{
        fetch()//here I send post request to update users state to active
        
        AppState.addEventListener("change", handleAppStateChange);

        return ()=>{
            AppState.removeEventListener("change", handleAppStateChange);
        }
    },[])

    const handleAppStateChange = (nextAppState) =>{
       if(appState.current.match(/inactive|background/) && nextAppState === "active"){
           fetch()// update users status to inactive
       }
       else{
           fetch()// update users status to active
       }
       appState.current = nextAppState;

    }
}
票数 1
EN

Stack Overflow用户

发布于 2019-07-09 23:31:31

如果你使用的是React Navigation,有一种方法。检查this

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56955731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档