Next.js Link 组件阻止默认操作
Next.js Link Component Prevent default action
使用 Next.js,我有一个显示为按钮的 Link 组件,但是我希望用户只有在满足某些条件(已验证)时才能导航到 /login .当前正在调用 handleClick 函数并返回 false,它应该如此,但是无论如何应用程序都会导航。
我做错了什么?
运行 next.js V 7.0.2
非常感谢。
<Link href="/login">
<button onClick={() => {handleClick(event)}}>Buyer</button>
</Link>
function handleClick(event)
{
if(verified == false)
{
event.preventDefault();
return false;
}
else
{
return true;
}
}
关于我的评论,我刚刚查看了 next.js 的文档,它给出了一个 DOM 元素示例和一个更改到另一个页面的点击事件。 https://github.com/zeit/next.js/#imperatively
看起来你会想要导入路由器然后添加Router.push('/login')
像:
function handleClick(event)
{
if(verified) {
Router.push('/login')
}
}
使用 Next.js,我有一个显示为按钮的 Link 组件,但是我希望用户只有在满足某些条件(已验证)时才能导航到 /login .当前正在调用 handleClick 函数并返回 false,它应该如此,但是无论如何应用程序都会导航。
我做错了什么?
运行 next.js V 7.0.2
非常感谢。
<Link href="/login">
<button onClick={() => {handleClick(event)}}>Buyer</button>
</Link>
function handleClick(event)
{
if(verified == false)
{
event.preventDefault();
return false;
}
else
{
return true;
}
}
关于我的评论,我刚刚查看了 next.js 的文档,它给出了一个 DOM 元素示例和一个更改到另一个页面的点击事件。 https://github.com/zeit/next.js/#imperatively
看起来你会想要导入路由器然后添加Router.push('/login')
像:
function handleClick(event)
{
if(verified) {
Router.push('/login')
}
}