如何仅在应用程序关闭时在 React Native 中保存状态?在 Android 开发中,应用程序生命周期的一部分是 onStop,它允许您在应用程序关闭后保存状态。我只是在谈论如果用户意外关闭应用程序,我希望将当前状态保存到平面文件中。我有一个与应用程序通信的 Postgres 后端。
如果有明显的答案,我深表歉意,目前正在学习 React Native。
谢谢你的询问。如果您想将应用程序状态存储在本地存储还是数据库中,这取决于您的要求。我面临着类似的要求,我使用了来自react-native库的react-native-async-storage和AppStateAPI。
步骤是:
const saveState = async (state) => {
try {
await AsyncStorage.setItem('appState', JSON.stringify(state));
} catch (error) {
console.error('Error saving state:', error);
}
};
AppState
API 添加应用程序状态变化的事件监听器。AppState.addEventListener('change', async (nextAppState) => {
if (nextAppState === 'background' || nextAppState === 'inactive') {
await saveState(stateItem);
}
});
const loadState = async () => {
try {
const savedState = await AsyncStorage.getItem('appState');
if (savedState !== null) {
setState(JSON.parse(savedState));
}
} catch (error) {
console.error('Error loading state:', error);
}
};