【发布时间】:2021-07-07 19:43:08
【问题描述】:
当用户通过导航更改页面时,我试图获得一个 useEffect 来执行一些代码。
我的问题是 useEffect 不会在路由更改时执行(不会显示在控制台中)。它只会在第一个初始页面加载时显示,之后不会显示
我使用了来自 nextJS 的 google analytics 示例
这是我的简单 _app.tsx
import type { AppProps } from "next/app";
import "./styles/css.scss";
import { useRouter } from "next/dist/client/router";
import { useEffect} from "react";
const Child: React.FC = ({ children }) => {
return (
<>
<div>{children}</div>
</>
);
};
const App = ({ Component, pageProps }: AppProps) => {
const router = useRouter();
useEffect(() => {
console.log("called");
}, [router.events]);
return (
<>
<Child>
<Component {...pageProps} />
</Child>
</>
);
};
export default App;
【问题讨论】: