我正在使用Reactjs和nextjs,现在我尝试刷新页面(使用路由),但我得到以下错误
Error: No router instance found. you should only use "next/router" inside the client side of your app.
以下是我当前的代码
const Post = ({ post, blogs }) => {
const routers = useRouter();
var spath=routers.asPath;
routers.push({ pathname: spath, query: '' });
})
2条答案
按热度按时间mm5n2pyu1#
你可能在一个功能组件或钩子之外使用了路由器。将Post转换为钩子,它应该可以工作。
snvhrwxg2#
如果你在应用程序加载或任何数据更改时运行此代码,你应该在
useEffect
钩子内执行此操作,因为在服务器上呈现应用程序时,router
不会在那里,useEffect
只在浏览器内运行。