在Next.js中放置Router.events相关代码的位置

在Next.js中放置Router.events相关代码的位置,next.js,Next.js,我只是想知道我可以把Router.events相关的代码放在Next.js的什么地方?显然,我不能把它放在一个特定的组件中,因为它需要在整个应用程序中使用 谢谢。您可以将其放入用于初始化每个页面的自定义应用程序组件中 下面是订阅和取消订阅路由器事件的一些示例代码: const eventHandler = (url) => {...}; export default class MyApp extends App { constructor(props) { s

我只是想知道我可以把Router.events相关的代码放在Next.js的什么地方?显然,我不能把它放在一个特定的组件中,因为它需要在整个应用程序中使用


谢谢。

您可以将其放入用于初始化每个页面的自定义应用程序组件中

下面是订阅和取消订阅路由器事件的一些示例代码:

const eventHandler = (url) => {...};

export default class MyApp extends App {
    constructor(props) {
        super(props);

        Router.events.on("routeChangeComplete", eventHandler);
    }

    componentWillUnmount(){
        Router.events.off("routeChangeComplete", eventHandler);
    }

    ...
}

HTH

您可以将其放入用于初始化每个页面的自定义应用程序组件中

下面是订阅和取消订阅路由器事件的一些示例代码:

const eventHandler = (url) => {...};

export default class MyApp extends App {
    constructor(props) {
        super(props);

        Router.events.on("routeChangeComplete", eventHandler);
    }

    componentWillUnmount(){
        Router.events.off("routeChangeComplete", eventHandler);
    }

    ...
}