Router.events相关代码放在Next.js的什么地方
Where to put Router.events related code in Next.js
我只是想知道 Router.events 相关代码可以放在 Next.js 的什么地方?显然,我不能将它放在特定的组件中,因为它需要在整个应用程序中使用。
谢谢。
你可以把它放在一个自定义的应用程序组件中,用于初始化每个页面。
https://github.com/zeit/next.js#custom-app
下面是一些订阅和取消订阅路由器事件的示例代码:
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
我只是想知道 Router.events 相关代码可以放在 Next.js 的什么地方?显然,我不能将它放在特定的组件中,因为它需要在整个应用程序中使用。
谢谢。
你可以把它放在一个自定义的应用程序组件中,用于初始化每个页面。
https://github.com/zeit/next.js#custom-app
下面是一些订阅和取消订阅路由器事件的示例代码:
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