这是我的页面文件夹的样子:
pages
index.js
[...slug].js
我知道问题肯定在于我直接在 pages 文件夹中使用 catch all routes,因为我尝试使用“pages/page/[...slug] .js 结构,一切正常。
当使用 Link 组件从 index.js 页面导航到 [...slug].js 页面(例如/careers 或/blog)时,一切正常。
但是 当从 [...slug].js 页面(例如/contact)导航到另一个类似页面(例如/blog)时,只有 URL 正确更改,但内容页面保持不变,因此不会重新呈现。
注意:从 [...slug].js 页面导航回根文件 (href="/") 有效。
最佳答案
总而言之:
从 getStaticProps 或 getServerSideProps 函数返回 Prop 集时,返回一个“关键” Prop 并为其分配一个唯一值,以便 React 能够区分从同一动态路径提供的两个页面。
我在去年的 github 问题中找到了“问题”的解决方案:https://github.com/vercel/next.js/issues/9992
阅读我链接的问题,您可以找到明确的解决方案。
关于javascript - 来自 "pages/[...slug].js"的 Next.js 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68773115/
相关文章:
reactjs - 访问 XMLHttpRequest 被 CORS 阻止,请求的资源上不存在 'A
android - 何时使用内部应用共享与内部测试 (google play)?
ios - flutter app 不是由 flutter build ios 运行,而是由 xco
javascript - 在开始下一个功能之前等待一个功能完成
javascript - JS CSS HTML - 创建一个独立于文本数量而保持相同宽度的按钮
css - 有什么方法可以从 CSS 使用 SVG Sprite 吗?
postgresql - psql:致命:用户 ""aws rds Postgresql 的 PAM