Как удалить элемент из AsyncStorage перед закрытием собственного приложения React - PullRequest
0 голосов
/ 16 июня 2020

Как я могу удалить элемент из AsyncStorage, когда закрываю собственное приложение React?.

app. js:

state = {
    appState: AppState.currentState
}

componentDidMount() {
  AppState.addEventListener('change', this.handleAppStateChange);
}

componentWillUnmount() {
  AppState.removeEventListener('change', this.handleAppStateChange);
}

handleAppStateChange = (nextAppState) => {
  if (this.state.appState.match(/inactive|background/) && nextAppState === 'active') {
   AsyncStorage.removeItem('item');
 console.log("App has come to the foreground!");
  }
this.setState({ appState: nextAppState });    
}

Я никогда не вижу ничего в console.log

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Для этого варианта использования AppState не требуется. Вы можете удалить элемент AsyncStorage в componentWillUnmount.

componentWillUnmount() {
    AsyncStorage.removeItem('item');
}
0 голосов
/ 16 июня 2020

вы также можете использовать тот же componentWillUnmount, чтобы сделать это

componentWillUnmount() {
          AsyncStorage.removeItem('item');
          AppState.removeEventListener('change', this.handleAppStateChange);
 }

при условии, что этот файл является root js файлом и будет отключен только при закрытии приложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...