Reactjs 如何将Next.js路由映射到props.url?
如中所示,我正在尝试访问Reactjs 如何将Next.js路由映射到props.url?,reactjs,next.js,Reactjs,Next.js,如中所示,我正在尝试访问this.props.url,但它没有定义,我不确定该组件应该如何获取下一个路由道具。我希望有一个connect或with router等,但我从未见过props.url,也找不到README.md中提到的import 我应该如何获得这个.props.url 我觉得这是下一条路线的文档中的一个输入错误。该软件包已经有好几个月没有维护了,并且还没有为下一个v7或更高版本进行更新。上次支持的是^6.0.0 无论如何,在NextJS中,应该通过使用从next/router导出
this.props.url
,但它没有定义,我不确定该组件应该如何获取下一个路由
道具。我希望有一个connect
或with router
等,但我从未见过props.url
,也找不到README.md
中提到的import
我应该如何获得这个.props.url
我觉得这是
下一条路线的文档中的一个输入错误。该软件包已经有好几个月没有维护了,并且还没有为下一个v7或更高版本进行更新。上次支持的是^6.0.0
无论如何,在NextJS中,应该通过使用从next/router
导出的withRouter
HOC来附加它。附加该属性后,您的查询将存在于this.props.router.query
您必须在getInitialProps中返回url对象,然后才能在呈现函数中访问查询
导出默认类Blog扩展React.Component{
静态异步getInitialProps({query}){
返回{url:{query}
}
渲染(){
//this.props.url.query.slug
}
}
最大的痛苦是routes.js
config专门有一个name
属性,我无法从组件中访问该属性,这意味着我必须手动检查组件的文件系统/path
和props.router.query
参数。我可以确认使用下一个路由
和with router
,允许接收路由器
prop,然后,我们的高阶包装器组件(如nextreduxwrapper
)可能会覆盖并删除它。目前,getInitialProps
正在使用({Component,ctx,router})调用