Как перенаправить на другую страницу при обновлении текущей страницы Reactjs - PullRequest
0 голосов
/ 03 марта 2020

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

constructor(props) {
    super(props);
    this.onUnload = this.onUnload.bind(this);
    this.onbeforeunload= this.onbeforeunload.bind(this)
    this.state = {
      show_answers: [],
      other_data: [],
      question: "",
      answer: "",
      id: 0,
    };
  }



onUnload() {
    console.log("reloads")
this.context.router.push('/getanswer');
}

onbeforeunload(){
  console.log("reloadsssss")
this.context.router.push('/getanswer');
}

Я пробовал вышеупомянутый способ, но не работает никаких предложений.

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

ReactJs нет способа прослушать события перезагрузки. Используйте этот простой Javascript обработчик событий:

window.onbeforeunload = (e) => {
  this.context.router.push('/getanswer');
};

США также могут поместить это (в конструктор):

constructor(props) {
  if (window.performance) {
    if (window.performance.navigation.type == 1) {
      //This page is reloaded
      this.context.router.push('/getanswer');
    }
  }
}
0 голосов
/ 03 марта 2020
componentDidUpdate() {
  this.context.router.push('/getanswer');
}    

всякий раз, когда страница загружается, метод componentDidUpdate будет вызывать и перенаправлять на предыдущую страницу.

...