我正在使用nextjs构建一个简单的应用程序。我的大多数组件都是功能组件。但是,我有一个处理表单的类组件。
我想在表单提交后重定向到主页。console.log(this.router)
给出了未定义的。因为它是一个类组件,所以我不能使用useRouter()
钩子。如何在next.js中获取对类中路由器组件的引用?
发布于 2021-01-22 05:49:09
最终我得到了答案,
import Router from 'next/router'
并使用Router.push(...)
发布于 2021-01-22 13:49:18
作为直接使用next/router
默认导出的替代方法,withRouter
HOC还可以将路由器对象添加到任何组件。
import * as React from 'react'
import { withRouter } from 'next/router'
class Page extends React.Component {
render() {
const { router } = this.props
return <p>{router.pathname}</p>
}
}
export default withRouter(Page)
https://stackoverflow.com/questions/65839932
复制