首页 > 解决方案 > Next Js中的动态路由返回404然后重新加载

问题描述

每当用户单击按钮时,我都需要重定向到 /solutions/[id] ,其中 id 是动态的。尝试使用 Link 和下一个路由器。如果我第一次单击该按钮,它会失败(返回 404),然后自动重新加载页面。这是预期的行为吗?我该如何避免这种情况?

<Link href="/quiz/solutions/a">
     <a>First comment</a>
</Link>  

我的文件夹结构

pages
    -solutions
          -[index].js

标签: javascriptreactjsnext.js

解决方案


在 10 之前的 Next 版本中,您必须使用hrefandas属性。查看此问题以获取更多信息。这里也是旧文档的链接,文档的相关部分说明:

href是页面使用的文件系统路径,不应在运行时更改。as另一方面,根据您的需要,大部分时间都是动态的。

<Link href="/quiz/solutions/[id]" as="/quiz/solutions/a">
  <a>First comment</a>
</Link> 

这是假设该页面[id].js位于解决方案文件夹中。


推荐阅读