Next.js链接组件阻止默认操作

时间:2018-11-05 21:12:12

标签: reactjs next.js

使用Next.js,我将链接组件显示为按钮,但是我希望用户仅在满足某些条件(已通过验证)时才能够导航到/ 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;
     }
  }

1 个答案:

答案 0 :(得分:1)

参考我的评论,我只看了next.js的文档,它给出了一个DOM元素和一个更改到另一个页面的click事件的示例。 https://github.com/zeit/next.js/#imperatively

根据外观,您将要导入Router,然后添加Router.push('/login'),例如:

    function handleClick(event)
  {
     if(verified) {
         Router.push('/login')
     }
  }