我想重用react中的react-router-dom菜单,但这次是在nextjs中,目的是当我点击菜单中的链接时,将菜单的状态更改为'false',将menuName更改为'menu'。
我使用一个useEffect函数监听历史:
//use effect for page changes
useEffect(() => {
//listen for page changes
history.listen(() => {
setState({ clicked: false, menuName: "Menu" })
})
})
并将我的组件 Package 为withRouter:
import { withRouter } from 'next/router'
[...]
export default withRouter(Header);
不幸的是,它打印:
TypeError: Cannot read property 'listen' of undefined
我应该更好地使用'useRouter'来解决这个问题吗?如何解决?
谢谢您的评分
2条答案
按热度按时间ssgvzors1#
它是这样工作的:
Nextjs:路由器事件
yqhsw0fo2#