Сохраняйте данные во время работы приложения [React Native] - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь установить переменную в моем приложении, которая активна только во время работы приложения и будет уничтожена при выходе из приложения.Концепция - это что-то вроде сеанса в веб-браузере, где сеанс будет уничтожен только при закрытии браузера.

По какой-то причине я не могу использовать state, так как он будет обновлен, когда будет запущено действие dispatch.У меня была мысль об использовании AsyncStorage.setItem(), но в моей ситуации это тоже не работает, поскольку оно хранит переменную в устройстве.Иначе есть способ сделать removeItem при выходе из приложения без нажатия какой-либо кнопки.

Ответы [ 2 ]

0 голосов
/ 20 июня 2019

Как указано выше в комментарии, похоже, что AppState API - ваш друг здесь.Пример непроверенного кода:

class AppStateExample extends Component {

  componentDidMount() {
    this.temp = "something"
    AppState.addEventListener('change', this.handleAppStateChange);
  }

  handleAppStateChange = (nextAppState) => {
    if (nextAppState.match(/inactive|background/)) {
      this.temp = null
    }
  };

}

0 голосов
/ 20 июня 2019

Используйте избыточность, так как она ведет себя так же, как вы хотите. Вы можете хранить в магазине, и он будет уничтожен при выходе из приложения.

...