[英]clean urls with router.push in nextjs
我有下面的代码。 它重定向到 /home 并传递一个用户名变量。 但是,在地址栏中,它显示 http://localhost:3000/home?username=bobmarley。 如何干净利落地使用 next.js 传递变量?
import { withRouter } from 'next/router'
loginUser(this.state.user)
.then(response => {
var username = response['username'];
if (username) {
this.props.router.push({
pathname: '/home',
query: { username: username }
});
}
});
使用router.push的as
属性,这将是地址栏中显示的内容。 将其设置为与pathname
相同的值。
as
- 将在浏览器中显示的 URL 的可选装饰器。
this.props.router.push({
pathname: '/home',
as: '/home',
query: { username: username }
});
这不是您放置 as 参数的地方。 它应该看起来像
this.props.router.push({
pathname: '/home',
query: { username: username }
},
{
pathname: '/masked-url'
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.