//_.app.js
import React from 'react';
import App, { Container } from 'next/app';
import Layout from '../components/layout';
import Head from 'next/head';
import Router from 'next/router';
class MyApp extends App {
componentDidMount() {
// Router.events.on('routeChangeStart', (url) => {
// alert('route changes');
// });
Router.beforePopState(({ url, as, opts }) => {
alert('before pop state');
return true;
});
}
render() {
const { Component, pageProps } = this.props;
return (
<Container>
<Head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"></link>
</Head>
<Layout>
<Component {...pageProps} />
</Layout>
</Container>
);
}
}
export default MyApp;
您好,我问为什么当我按下浏览器的后退和前进按钮时,router.beforepopstate根本不触发。 1.我正在尝试执行某些操作,请按“后退”按钮,然后再进入下一页。 2.但是当我按下后退按钮时,当我使用router.push ...时,只有routechangestart触发了,什么都没有发生。 如果你们中的任何一个真的能帮助我,我将非常感激。