NextJS router.beforepopstate不触发

时间:2020-05-05 02:21:52

标签: javascript node.js next.js

//_.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触发了,什么都没有发生。 如果你们中的任何一个真的能帮助我,我将非常感激。

0 个答案:

没有答案