React Native обнаруживает, когда пользователь пытается выйти из приложения?

Я хочу обновить свое состояние избыточности на основе размонтирования компонента, но в случае, если пользователь завершает работу приложения, как это определить и обновить мое состояние избыточности на основе завершения работы приложения, поскольку componentWillUnmount не будет вызываться в случае выхода из приложения. Есть ли способ обнаружить прекращение работы приложения (не приостановлено) в React Native?


person Prince Mittal    schedule 12.04.2021    source источник
comment
Это может помочь вам stackoverflow.com/questions/38962034/.   -  person Ragul Cs    schedule 12.04.2021
comment
@RagulCs Это вопрос, на который мне тоже нужен ответ, но я не нашел там подходящего решения. Я обновлю свой вопрос.   -  person Prince Mittal    schedule 12.04.2021
comment
@ 3limin4t0r Я расскажу вам свой вариант использования. Я хочу отображать модальное окно при первом монтировании компонентов, и я поддерживаю это в своем состоянии редукции, и я переключаю его на false в componentWillUnmount, а также при модальном отклонении. Но предположим, что пользователь открыл компонент, и модальное окно отображается в тот момент, когда пользователь выходит из приложения, тогда в следующий раз модальное окно будет отображаться снова, поскольку его состояние не обновляется.   -  person Prince Mittal    schedule 12.04.2021


Ответы (1)


Я предполагаю, что ваше замешательство должно быть устранено путем понимания следующего подхода:

import React from "react";
export default class Clock extends React.Component {
  constructor(props) {
    console.log("Clock", "constructor");
    super(props);   
    this.state = {
      date: new Date()
    };
  }
  tick() {   
    this.setState({
      date: new Date()
    });
  }
  // These methods are called "lifecycle hooks".
  componentDidMount() {
    console.log("Clock", "componentDidMount");
    this.timerID = setInterval(() => {
      this.tick();
    }, 1000);
  }
  // These methods are called "lifecycle hooks".
  componentWillUnmount() {
    console.log("Clock", "componentWillUnmount");
    clearInterval(this.timerID);
  }
  render() {
    return (        
        <div>It is {this.state.date.toLocaleTimeString()}.</div>
    );
  }
}

person yash sanghavi    schedule 12.04.2021
comment
Я понимаю, как метод жизненного цикла работает в реакции, и реагирую на родной язык, и я хочу знать, что он специфичен для реактивного натива, а не для реакции. Когда мы выходим из приложения, будет вызываться componentWillUnmount, если нет способа узнать, что пользователь выходит из приложения. - person Prince Mittal; 12.04.2021